如何在输出句子的末尾添加“s”?

时间:2010-08-26 18:54:12

标签: .net regex

如何在输出结尾添加一个字符?我正在抓取一些数据,我正在使用正则表达式来获得我想要的东西。我得到了它,但我必须在句子的末尾添加一个's'。

句子每次都会改变,所以我不能只做一个替换。我想我正在使用.NET正则表达式引擎。

1 个答案:

答案 0 :(得分:3)

如果您只想在字符串中添加“s”,只需使用newstring = oldstring + "s"

如果您需要在句子末尾的标点字符前添加s,则可以搜索(?=\W+$)并将其替换为s。如果您说出您正在使用的语言,我可以提供代码段。但是,这假定存在标点符号(如果字符串以字母数字字符结尾,则不匹配)。

在VB.net中,例如:

ResultString = Regex.Replace(SubjectString, "(?=\W+$)", "s")

如果您需要在字符串的末尾添加“s”,那么在任何标点符号(如果存在)之前,您可以搜索(?=\W+$)|(?<!\W)$并替换为s

作为带注释的多行正则表达式:

(?=\W+$)  # match a position before one or more non-word characters at the end of the string
|         # or
(?<!\W)$  # match the position at the end of the string unless it's preceded by a non-word character

如果您需要做其他事情,请重新提出您的问题并提供一些示例。