我意识到这是一个相当简单的问题定义边界和我已经搜索整个网站,但似乎无法让我的语法正确以下的正则表达式的挑战。我期待着做两件事。首先有正则表达式拿起前三个字符,并以分号停止。例如,我的字符串可能如下:正则表达式 - 用文字和分隔符
Apt;House;Condo;Apts;
我想在这里去
Apartment;House;Condo;Apartment
我也想创建一个正则表达式替换的分隔符之间的字,而保持其他人不变。例如,我想从这个去:
feline;labrador;bird;labrador retriever;labrador dog; lab dog;
要这样:
feline;dog;bird;dog;dog;dog;
下面是我的工作正则表达式。我知道^表示字符串的开始和$结束。我尝试过许多变化,并想提出换人,但我没有达到我的期望了放。我也猜测一个正则表达式可以为两者工作?谢谢大家的帮助。
df$variable <- gsub("^apt$;", "Apartment;", df$variable, ignore.case = TRUE)
你想替换整个单词吗?使用单词边界。 'gsub(“\\ bapt \\ b”,“Apartment”,df $ variable,ignore.case = TRUE)'。或者您是否需要专门替换分号和字符串的开始/结尾之间的子字符串? –
我认为你应该删除正则表达式并使用面向字符串的函数。 –
Hi @WiktorStribiżew,我正在寻找替换分号之间的子串以及字符串前面的单词。为了详细说明第二个例子,可以用许多不同的方式发布拉布拉多,包括拉布拉多猎犬,拉布拉多犬,实验室狗等。总之,我需要创建正则表达式,以识别开始时的前三个字符和结束时的分隔符。希望这是有道理的。谢谢。 – BlueDevilPride