计算字符直到','在R的sqldf中

时间:2018-03-09 11:20:53

标签: r sqldf

我有一个带逗号的文本,我需要数字字符数,直到逗号,因为我想选择逗号之前的间隔。

例:
文字:" 12345,供应"
我想选择" 12345"。
有可能吗?

TKS!

2 个答案:

答案 0 :(得分:1)

使用sqldf,有一种可能性就是

df <- data.frame(text = rep("12345, Supply", 2))

           text
1 12345, Supply
2 12345, Supply

sqldf("select substr(text, 1, instr(text, ',') - 1) as text from df")

   text
1 12345
2 12345

答案 1 :(得分:0)

我们可以使用sub来匹配,后跟一个或多个空格和其他字符,并将其替换为空白(""

sub(",\\s+.*", "", "12345, Supply")
#[1] "12345"

或作为一组捕获并替换为反向引用

sub("^([^,]+),.*", "\\1", "12345, Supply")
#[1] "12345"