2010-08-26 60 views
-2

我该如何添加一个字符到我的输出结尾?我刮了一些数据,我正在使用正则表达式来获得我想要的。我明白了,但我必须在句子末尾添加's'。如何将“s”添加到输出句子的末尾?

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

+2

你可以显示一些代码,你正在做什么,为什么它不工作?你还想要什么样的输出,而不是现在的样子? – spinon 2010-08-26 18:57:03

+1

err ...'sentence = String.Concat(sentence,“。”)'not for you?或者任何一种更短的写法? – 2010-08-26 18:58:53

+0

你是说这必须纯粹用一个正则表达式完成,并且使用相同的正则表达式来从您加载的页面中抓取数据?为什么? – Rup 2010-08-26 19:11:22

回答

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 

如果你需要做别的事情,请重新表述您的问题,并给出一些例子。

+0

这是我的正则表达式的代码 批发 更换 首页> 更换 > 取代: 这是IAM使用它 首页>批发手机>批发HiPhone的 这种改变每次新的东西 这里是我的输出到目前为止 手机:HiPhone 现在我需要添加一个S到它的结尾,但因为这改变everytie我不能只是 做hiphone 替换hiphones – kyle 2010-08-26 19:07:02

+0

当然,但是在把它写出到你的页面之前,你能不能操纵你阅读的字符串?然后你可以在你的正则表达式输出中使用'+“s”'? – Rup 2010-08-26 19:10:14