如何解决正则表达式区分 first 和 street c# regex.replace
我有以下数据:
123ST
89ST
101ST
1ST
TEST
我想区分 first 和 street,然后在最后一个字符不包含 1 的情况下放置一个空格。
Add Space:
123 ST
89 ST
Do not modify:
101ST
1ST
TEST
这是我目前所知道的,但还没有找到解决方案:
address = Regex.Replace(address,@"\sst"," ");
注意:不应像测试示例中看到的那样修改非数字数据。
解决方法
你可以使用
address = Regex.Replace(address,@"(?<=[02-9])ST$"," $&");
// Or,if `ST` appears in the start/middle of the string and is at the end of a "word"
address = Regex.Replace(address,@"(?<=[02-9])ST\b"," $&");
正则表达式匹配
-
(?<=[02-9])
- 与紧跟在0
数字或2
到9
范围内的数字前面的位置匹配的正向后视 -
ST
-ST
子串 -
$
- 字符串结束和 -
\b
- 一个词边界。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。