我需要在R中的一个字符串中的一个唯一字符(在我的情况下:&)之前和之后得到单词
我需要从这样的东西中得到'word1':"......有些东西是word1和word2的东西......"
在R中使用Perl正则表达式之后我可以得到这个词:( (?<=& )[^ ]*(?= )
它似乎按照我想要的方式运行.我通过梳理我在本网站上找到的答案得到它)
我现在需要在&符号前面加上这个词.单词的长度发生变化,其他前面单词的数量以及空格也会发生变化.单词一可以是字母和数字,只是被两边的空格所限制.
Bor*_*din 15
如果你使用(\S+)\s*&\s*(\S+)那么&将捕获双方的单词.这允许在&符号周围可选的空格.
您需要将R字符串中的反斜杠加倍,并使用regexec和regmatches函数应用模式并提取匹配的子字符串.
string <- "...something something word1 & word2 something..."
pattern <- "(\\S+)\\s*&\\s*(\\S+)"
match <- regexec(pattern, string)
words <- regmatches(string, match)
Run Code Online (Sandbox Code Playgroud)
现在words是一个包含三项向量的单元素列表:整个匹配的字符串,后跟第一个和第二个反向引用.所以,words[[1]][2]是word1和words[[1]][3]是word2.