String 在R中拆分的特定字符串
我想在R中拆分一个文本字符串,但我想考虑一些方面。例如,如果字符串有一个点String 在R中拆分的特定字符串,string,r,String,R,我想在R中拆分一个文本字符串,但我想考虑一些方面。例如,如果字符串有一个点或,我希望函数将它们作为拆分列表的元素。下面是我想要得到的一个例子 mytext="Caracas. Montevideo! Chicago." split= "Caracas", "." ,"Montevideo", "!", "Chicago", "." 我目前的方法是用内置的R函数gsubthe“.by.”替换前面的函数,然后我也使用strsplit函数 mytext=gsub("\\.",
或代码>,我希望函数将它们作为拆分列表的元素。下面是我想要得到的一个例子
mytext="Caracas. Montevideo! Chicago."
split= "Caracas", "." ,"Montevideo", "!", "Chicago", "."
我目前的方法是用内置的R函数gsub
the“.by.”替换前面的函数,然后我也使用strsplit函数
mytext=gsub("\\."," .",mytext)
mytext=gsub("\\!"," !",mytext)
unlist(strsplit(mytext,split=' '))
因此,我的问题是:是否有其他方法来实现这一点,通过配置strsplit
函数的参数,或者其他您认为更有效的方法
任何帮助或建议都将不胜感激。展望未来是您在这里寻找的:
strsplit(mytext, split = "(?=(\\.|!))", perl = TRUE)
#[[1]]
#[1] "Caracas" "." " Montevideo" "!" " Chicago" "."
eddi的解决方案不会分割空白。试试这个:
> regmatches(mytext, gregexpr(text=mytext, pattern="(?=[\\.\\!])|(?:\\s)", perl=T), invert=T)
[[1]]
[1] "Caracas" "." "Montevideo" "!" "Chicago" "."
值得明确指出的是,perl
标志对于R中的look aheads至关重要