如何在输出结尾添加一个字符?我正在抓取一些数据,我正在使用正则表达式来获得我想要的东西。我得到了它,但我必须在句子的末尾添加一个's'。
句子每次都会改变,所以我不能只做一个替换。我想我正在使用.NET正则表达式引擎。
答案 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
如果您需要做其他事情,请重新提出您的问题并提供一些示例。