2012-01-10 55 views
2

在控制檯應用程序中,我得到一個文件的RTF(富文本格式)代碼作爲輸入。來源是通過查詢收集的數據庫和數據。在另一個字符串中查找特定的字符串,但沒有得到類似的結果

我的目標是搜索輸入代碼中是否存在代碼:\ par(RTF中的運輸結束)。
我試着用string.IndexOf和string.Contains,但兩者都返回不好的結果,因爲它們匹配的代碼也是這樣:「\ pard」。

給予相同的字符串:

{\rtf1\ansi\deff0{\fonttbl{\f0\fnil\fcharset0 Times New Roman;} 
{\f1\fnil\fcharset0 MS Sans Serif;} 
\deflang1033\pard\plain\tx0\f2\lang1033\fs20\cf1 Payment} 

如何建立我的條件,使其返回false,因爲這個串包含\相提並論?最終,我怎麼能設置一個正則表達式,確切地說關鍵字「\ par」(所以長度爲4個字符)並且沒有其他匹配?謝謝。

編輯:使用的語言是C#,我發展與VS控制檯應用程序2010

回答

3

你不告訴我們您所使用的語言,但通常你需要一個字邊界是這樣的:

\\par\b 

,以確保不存在以下

+0

請問這個是在string.Contais(「\\票面\ b」)單詞字符?或在正則表達式? – Francesco 2012-01-10 13:22:18

+1

不是這是正則表達式的語法。在C#中,您可以執行'Regex.IsMatch(text,@「\\ par \ b」)'當'text'包含模式時返回true(否則返回false) – stema 2012-01-10 13:29:53

+1

+1 - 它就像一個魅力!非常感謝。 – Francesco 2012-01-10 13:51:16

相關問題