如何根据单词中的给定索引查找单词的开始和结束索引?

时间:2012-02-26 08:21:01

标签: c# string

例如,如果有一个包含此文本的TextBox:

The quick brown fox jumped over the lazy dog.

文本框的闪烁光标(文本插入符号)位于i中的quick,这是找到q和索引的索引的优雅方式对于k

基本上,给定字符串中的位置,我如何找到单词开头和结尾的索引?如果给定的索引是空格,则假设它使用前一个单词。

我有一个真正的hackish解决方案,使用两个方向的循环,直到每个人找到一个空间,但它真的很乱,我想知道是否有更简单的方法来解决问题。已经很晚了,所以我觉得我可能会遗漏一些明显的东西。

感谢您的帮助。

1 个答案:

答案 0 :(得分:4)

在两个方向上使用循环听起来对我来说是正确的方法 - 但不需要编写循环。您可以使用String.IndexOfString.LastIndexOf

int nextSpace = text.IndexOf(' ', index);
int previousSpace = text.LastIndexOf(' ', index);

会非常繁琐,你也应该认为单词并不总是在空间边界处破坏 - 但至少应该摆脱你的循环:)