C# 如何根据单词中给定的索引查找单词的起始索引和结束索引?
例如,如果有包含此文本的文本框: 那只敏捷的棕色狐狸跳过了那只懒狗 文本框中闪烁的光标文本插入符号位于quick中的i处,用什么优雅的方式找到q的索引和k的索引 基本上,给定字符串中的一个位置,我如何找到单词开头和结尾的索引?如果给定的索引是一个空格,则假定它使用上一个单词 我有一个非常粗俗的解决方案,使用两个方向的循环,直到每个方向都找到一个空间,但这真的很混乱,我想知道是否有一种更简单的方法来解决这个问题。很晚了,所以我觉得我可能错过了一些明显的东西C# 如何根据单词中给定的索引查找单词的起始索引和结束索引?,c#,string,C#,String,例如,如果有包含此文本的文本框: 那只敏捷的棕色狐狸跳过了那只懒狗 文本框中闪烁的光标文本插入符号位于quick中的i处,用什么优雅的方式找到q的索引和k的索引 基本上,给定字符串中的一个位置,我如何找到单词开头和结尾的索引?如果给定的索引是一个空格,则假定它使用上一个单词 我有一个非常粗俗的解决方案,使用两个方向的循环,直到每个方向都找到一个空间,但这真的很混乱,我想知道是否有一种更简单的方法来解决这个问题。很晚了,所以我觉得我可能错过了一些明显的东西 感谢您的帮助。在两个方向上使用循环对我来
感谢您的帮助。在两个方向上使用循环对我来说似乎是正确的方法,但您不需要编写循环。您可以使用String.IndexOf和String.LastIndexOf:
它会很烦躁,你也应该考虑到单词不总是在空间边界上打破——但是至少应该去掉你的循环:
使用两个方向的循环听起来对我来说是正确的方法-但是你不需要写循环。您可以使用String.IndexOf和String.LastIndexOf:它会很烦躁,你也应该考虑到单词不总是在空间边界上打破——但是这至少应该去掉你的循环:
也许把你的代码放在上面?也许把你的代码放在上面?int nextSpace = text.IndexOf(' ', index);
int previousSpace = text.LastIndexOf(' ', index);