提取“/”前后的字符

2024-03-13

我试图提取“/”之前和之后的字符,但没有成功。句子是:

XXXX YYY ZZZ - AV HAHEHRS, 3061 - SDDW ASDA DDSF - SAO JOSE DOS CAMPOS / SP - CEP: 00000-000

输出应该是

SAO JOSE DOS CAMPOS / SP

我想str_extract(str, "- [a-zA-Z]{1,} / [a-zA-Z]{1,}")但这只是让我

CAMPOS / SP

在你的正则表达式中缺少空格。尝试:

str_extract(str, "- [a-zA-Z ]+ / [a-zA-Z ]+") 

请注意字符类中的空格。还,{1,}是长形式+.

比赛将在"- SAO JOSE DOS CAMPOS / SP - CEP"。你必须摆脱-在第二步中,或者使用零宽度后视:

str_extract(str, "(?<=- )[a-zA-Z ]+ / [a-zA-Z ]+") 

后视是支持者gregexpr https://stackoverflow.com/a/8834874/18771.


为了完整起见,您可以在不使用正则表达式的情况下执行此操作:将输入拆分为'-',找到包含的部分'/', 修剪。这也可能比正则表达式更快。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

提取“/”前后的字符 的相关文章

随机推荐