我有一个字符串,它总是在末尾包含不需要的文本。我想提取除了不需要的文本之外的所有内容。
text <- "my_text_and_unwanted_text" output <- str_extract(text, ".*(?=<_and)") output
字符串我希望“.*”匹配所有前面带有“_and”的文本。因此,预期的结果是“我的文本”,但我得到“NA”。我已经审查了一些职位,但有麻烦找到的例子,显示如何匹配一切,但所需的字符串。
nkoocmlb1#
考虑此操作的另一种方法是将不需要的文本替换为空,而不是提取其他所有内容。这往往更简单。
text <- "my_text_and_unwanted_text" str_replace(text, "_and.*", "") # [1] "my_text"
字符串从提取的Angular 来看,你的尝试非常接近。(?<=用于look-behind,您需要(?=用于look-ahead
(?<=
(?=
str_extract(text, ".*(?=_and)") # [1] "my_text"
型
6kkfgxo02#
试着扭转这个问题。不提取所需文本,而是删除不需要的文本:
str_remove(text, "_and.*") [1] "my_text"
字符串
2条答案
按热度按时间nkoocmlb1#
考虑此操作的另一种方法是将不需要的文本替换为空,而不是提取其他所有内容。这往往更简单。
字符串
从提取的Angular 来看,你的尝试非常接近。
(?<=
用于look-behind,您需要(?=
用于look-ahead型
6kkfgxo02#
试着扭转这个问题。不提取所需文本,而是删除不需要的文本:
字符串