2013-11-04 64 views
-1

我有一個字符串,我想捕獲它裏面的數字,然後添加一個!有人可以請告訴我如何做到這一點正則表達式

比如我有一個電子郵件主題標題說:「回覆:你好(1)」

我要拍攝1,然後由2提高它,然後3,然後4,等等。我遇到的困難是考慮到越來越多的數字,一旦它變成10或100,那麼額外的數字會殺死我當前的正則表達式。

 int replyno = int.Parse(Regex.Match(Subject, @"\([0-9]+\)").Value); 
     replyno++; 
     string Subject = Subject.Remove(Subject.Length - 3); 
     TextBoxSubject.Text = Subject + "("+replyno+")"; 
+5

安置自己的正則表達式當前替換表達[0-9]。 – Alberto

+0

字符串將始終從'Re:Hello..'開始? – vmeln

回答

0

將您的正則表達式更改爲\d+。這會幫助你支持多位數字。

1

您可以使用

\((\d+)\) 

爲正則表達式。 這會捕獲()以內的數字,不管數字大小如何,感謝+

2

Re: Hello \([0-9]+\)

匹配字符串「回覆:你好(1)」與任何數量的數字作爲編號,所以它也匹配「回覆:你好(100)」。

請注意,我已專門使用[0-9]而不是\d來匹配數字,因爲它們是不同的。 \d也將與其他語言的數字字符匹配。看到這個問題和答案的詳細信息:https://stackoverflow.com/a/6479605/1801

如果您需要匹配其他數字字符,你可以用\d

相關問題