2011-07-04 74 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