【发布时间】:2017-10-29 12:46:28
【问题描述】:
考虑这样的字符串:
"This is a string....!"
"This is another...!!"
"What is this..!?!?"
...
// There are LOTS of examples of weird/angry sentence-endings like the ones above.
我想把末尾不必要的标点符号替换成这样:
"This is a string!"
"This is another!"
"What is this?"
我基本上做的是: - 按空间分割 - 检查字符串中的最后一个字符是否包含标点符号 - 开始用下面的模式替换
我尝试了一个非常大的“.Replace(string, string)”函数,但它不起作用 - 我猜必须有一个更简单的正则表达式。
文档:
返回一个新字符串,其中当前实例中出现的所有指定字符串都替换为另一个指定字符串。
还有:
由于此方法返回修改后的字符串,您可以将连续调用 Replace 方法链接在一起,以对原始字符串执行多次替换。
这里有什么问题。
编辑:所有建议的解决方案都可以正常工作!非常感谢你! 这是最适合我的项目的解决方案:
Regex re = new Regex("[.?!]*(?=[.?!]$)");
string output = re.Replace(input, "");
【问题讨论】:
-
为此使用正则表达式。