我有几个字符串,例如:
test
test. hi
test, hello.(actual whitespace)
hello -this is a test
hello v2 , i am a " test" as well
我想按照一些规则来对齐标点符号:
所以输出将是:
test
test. hi
test, hello.
hello - this is a test
hello v2, i am a "test" as well
我的问题是:是否可以一次使用单个正则表达式而不是为每种情况创建一个正则表达式来做到这一点?如果可以,那么能做到这一点的正则表达式又是什么呢?有没有比单个正则表达式更有效的方法(如果可能的话),特别是考虑到我已经遍历整个字符串以删除一些特殊的unicode字符的事实了?
答案 0 :(得分:1)
使用MatchEvaluator
的{{1}} delegate
版本,您可以使用Regex.Replace
查找有问题的标点符号,然后使用条件逻辑返回正确的结果。这不能处理规则4-在正则表达式中识别开引号和闭引号并不容易。
Regex