相关疑难解决方法(0)

用字符串中的单个数字替换数字范围

有没有办法用字符串中的单个数字替换数字范围?数字的范围可以从nn,最可能在1-15左右,也可能是4-10.

范围可以用a)表示 -

a <- "I would like to buy 1-3 cats"
Run Code Online (Sandbox Code Playgroud)

或者用词b)例如:to,bis,jusqu'à

b <- "I would like to buy 1 jusqu'à 3 cats"
Run Code Online (Sandbox Code Playgroud)

结果应该是这样的

"I would like to buy 1,2,3 cats"
Run Code Online (Sandbox Code Playgroud)

我发现这个:用一定数量替换数字范围,但在R中无法真正使用它.

text replace r tm tidytext

3
推荐指数
1
解决办法
182
查看次数

修改正则表达式匹配的子串并放回原处

我有一个任意字符串,比如“1a2 2a1 3a2 10a5”

我可以相对轻松地提取我想要的数字

string = "1a2 2a1 3a2 10a5"
numbers = stringr::str_extract_all(string,'[0-9]+(?=a)')[[1]]
Run Code Online (Sandbox Code Playgroud)

显然,将它们加倍是微不足道的

numbers = 2*(as.integer(numbers))
Run Code Online (Sandbox Code Playgroud)

但是我在将新结果放在旧位置时遇到了问题。得到输出“2a2 4a1 6a2 20a5”。我觉得应该有一个单一的功能来完成这个,但我能想到的就是使用gregexpr并手动将新结果记录在坐标中的匹配的原始索引。

regex r

2
推荐指数
1
解决办法
68
查看次数

标签 统计

r ×2

regex ×1

replace ×1

text ×1

tidytext ×1

tm ×1