2011-07-04 114 views
1

我正在尋找一個函數,使我能夠在textRange中找到某個字符串並將其返回給它的textPointers(開始和結束) 最好的方法是什麼或有什麼textRange方法可以幫助我? 謝謝。TextRange查找字符串c#

我在我的方法中有一個問題,當我在textRange中有相同的單詞時,會發生這種情況,我試圖爲textRange中的每個單詞獲取文本指針。
例如我在textRange中的文本是
「你好,你好,你好」
我想獲取textRange中每個單詞的文本指針,它會混合第二個和最後一個單詞並給我(第一個indexOf單詞)還是最後一個取決於我使用的方法。

+1

什麼'TextRange'? – SLaks

+0

textRange和textPointer類在某些API中?如果是這樣,哪個API? –

+0

我可以看到你的意思嗎? – Spooks

回答

0

像這樣的事情

string txt = tr.Text; //tr is your TextRange 
string find = "a str"; 
int beginPtr = txt.IndexOf(find); 
int endPrt = beginPtr + find.Length; 
+0

這適用於包含簡單文本的textRange,但如果您的textRange具有很多格式,顏色和不同的字體大小,則無法正常工作。 這就是我所做的 – raym0nd

+0

爲什麼所有的格式都是字體大小的文字部分?無論如何,我認爲你需要某種正則表達。我不是正則表達式的專家,所以不能給你寫一個。但是你仍然需要提供所有格式化字符的列表,以便有人編寫正則表達式。 – ata

+0

,因爲即時通訊從RichtextBox中獲取textRange,該文本使用格式和換行符,運行等等。對不起,我一開始並不清楚。但我的答案適用於普通文本:) – raym0nd