我有我需要理清的性别描述的字符串。举例来说,如果我有以下,R中的正则表达式来区分字符串中的男性/女性
string1 = "FEMALE AND FEMALE"
string2 = "FEMALE AND MALE"
我需要改变string1
说“多名女性”,并string2
说“男性和女性”。
使用gsub
,由于MALE嵌套在FEMALE中,因此我无法编写识别string2
与string1
不同的替换。使用“YEP”作为一个确认字符串第一,我已经试过,没有运气以下,
gsub(".*FEMALE.*MALE.*", "YEP", string1)
gsub(".*FEMALE.*[^M]ALE.*", "YEP", string1)
gsub(".*FEMALE.*[^\b]MALE.*", "YEP", string1)
gsub(".*FEMALE.*(^\bMALE).*", "YEP", string1)
gsub(".*FEMALE.*MALE.*", "YEP", string2)
gsub(".*FEMALE.*[^M]ALE.*", "YEP", string2)
gsub(".*FEMALE.*[^\b]MALE.*", "YEP", string2)
gsub(".*FEMALE.*(^\bMALE).*", "YEP", string2)
我需要考虑通配符的顺序,因为不是所有的字符串将显示为“女性与女性”或“女性,男性“,有时他们显示为”1女12 MALES“或”B女2X女“等
任何想法如何处理嵌套字符串使用正则表达式?
不是很确定你在寻找附加字符串的方式,你添加在你的文章的底部附近,但你可以使用像'(?:(((??1 \ D)\ d +)( ?:\ s * [az] \ b \ s *)* \ s +)?(\ b(?:FE)?MALES?\ b)'获取您要查找的所有数据。 – ctwheels