有没有办法用字符串中的单个数字替换数字范围?数字的范围可以从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中无法真正使用它.
我有一个任意字符串,比如“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并手动将新结果记录在坐标中的匹配的原始索引。