标签: gsub

替换字符串中的特定字符

我想从向量中的字符串中删除特定字符,类似于Excel中的" 查找和替换"功能.

以下是我开始的数据:

group <- data.frame(c("12357e", "12575e", "197e18", "e18947")
Run Code Online (Sandbox Code Playgroud)

我从第一栏开始; 我想通过删除e's 来生成第二列:

group       group.no.e
12357e      12357
12575e      12575
197e18      19718
e18947      18947
Run Code Online (Sandbox Code Playgroud)

regex replace r string-substitution gsub

251
推荐指数
5
解决办法
53万
查看次数

Ruby多字符串替换

str = "Hello? World?"
Run Code Online (Sandbox Code Playgroud)

预期产出是:

"Hello:) World:("
Run Code Online (Sandbox Code Playgroud)

我可以做这个: str.gsub("?", ":)").gsub("?", ":(")

有没有其他方法可以在单个函数调用中执行此操作?就像是:

str.gsub(['s1', 's2'], ['r1', 'r2'])
Run Code Online (Sandbox Code Playgroud)

ruby string gsub

69
推荐指数
6
解决办法
6万
查看次数

用gsub替换带重音的多个字母

当然我可以替换这样的特定参数:

    mydata=c("á","é","ó")
    mydata=gsub("á","a",mydata)
    mydata=gsub("é","e",mydata)
    mydata=gsub("ó","o",mydata)
    mydata
Run Code Online (Sandbox Code Playgroud)

但是肯定有一种更容易的方法来完成这一切,对吧?我没有发现gsub帮助非常全面.

regex r gsub

65
推荐指数
7
解决办法
5万
查看次数

如何使用grep()/ gsub()来查找完全匹配

string = c("apple", "apples", "applez")
grep("apple", string)
Run Code Online (Sandbox Code Playgroud)

这将为我提供所有三个元素的索引string.但我希望在单词"apple"上完全匹配(即我只想grep()返回索引1).

regex grep r word-boundary gsub

54
推荐指数
2
解决办法
7万
查看次数

Ruby帖子标题为slug

我应该如何将帖子标题转换为Ruby中的slug?

标题可以有任何字符,但我只想让slug允许[a-z0-9-_](它应该允许任何其他字符?).

所以基本上:

  • 把所有字母都写下来
  • 将空格转换为连字符
  • 删除无关的字符

ruby string lowercase gsub

47
推荐指数
3
解决办法
2万
查看次数

R中的gsub()没有替换'.' (点)

我想在更换点"2014.06.09""2014-06-09".我正在使用gsub()函数.如果

x <-  "2014.06.09"
gsub('2', '-' ,x)
# [1] "-014.06.09"
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试

gsub('.', '-', x)
# [1] "----------"
Run Code Online (Sandbox Code Playgroud)

而不是"2014-06-09".

class(x)
# "character"
Run Code Online (Sandbox Code Playgroud)

有些人可以建议我一个正确的方法,以及为什么它不适用于'.'(点)

regex r gsub

39
推荐指数
3
解决办法
5万
查看次数

Ruby匹配gsub替换的第一次出现的字符串

我有一个字符串让我们说http://someUrul.com/someController/SOmeAction?SomeQS=http://someOtherUrl

我想用https替换第一个http,但不是第二个,所以我最终得到https://someUrul.com/someController/SOmeAction?SomeQS = http:// someOtherUrl

我怎样才能用一个简单的gsub实现这个目标?以下内容替换了两者.

request.url.gsub(/http:/, "https:")
Run Code Online (Sandbox Code Playgroud)

ruby regex string-substitution gsub

33
推荐指数
1
解决办法
1万
查看次数

从R中的字符串中提取唯一数字

我有一个包含随机字符的字符串列表,例如:

list=list()
list[1] = "djud7+dg[a]hs667"
list[2] = "7fd*hac11(5)"
list[3] = "2tu,g7gka5"
Run Code Online (Sandbox Code Playgroud)

我想知道unique()这个列表中至少有一次()存在哪些数字.我的例子的解决方案是:

解: c(7,667,11,5,2)

如果有人的方法不认为11是"十一"而是"一和一",那么它也会很有用.这种情况下的解决方案是:

解: c(7,6,1,5,2)

(我在相关主题上发现了这篇文章:从字符串向量中提取数字)

string grep r character gsub

29
推荐指数
5
解决办法
7万
查看次数

使用gsub从字符串中删除模式

我正在努力删除字符串中下划线之前的子字符串.我想在下划线变化之前使用*(通配符)作为位:

a <- c("foo_5", "bar_7")

a <- gsub("*_", "", a, perl = TRUE)
Run Code Online (Sandbox Code Playgroud)

结果应如下所示:

> a
[1] 5 7
Run Code Online (Sandbox Code Playgroud)

我也试过像"^*"或"? "这样的东西但是没有真正起作用.

r gsub

27
推荐指数
2
解决办法
12万
查看次数

gsub速度与模式长度

我最近一直在gsub广泛使用,我注意到短模式比长模式运行得更快,这并不奇怪.这是一个完全可重现的代码:

library(microbenchmark)
set.seed(12345)
n = 0
rpt = seq(20, 1461, 20)
msecFF = numeric(length(rpt))
msecFT = numeric(length(rpt))
inp = rep("aaaaaaaaaa",15000)

for (i in rpt) {
  n = n + 1
  print(n)
  patt = paste(rep("a", rpt[n]), collapse = "")
  #time = microbenchmark(func(count[1:10000,12], patt, "b"), times = 10)
  timeFF = microbenchmark(gsub(patt, "b", inp, fixed=F), times = 10)
  msecFF[n] = mean(timeFF$time)/1000000.

  timeFT = microbenchmark(gsub(patt, "b", inp, fixed=T), times = 10)
  msecFT[n] = mean(timeFT$time)/1000000.
}

library(ggplot2)
library(grid)
library(gridExtra)

axis(1,at=seq(0,1000,200),labels=T)

p1 = qplot(rpt, …
Run Code Online (Sandbox Code Playgroud)

regex string r gsub stringi

26
推荐指数
1
解决办法
940
查看次数