![]() |
1
2
使用linq扩展方法获得正确的字符串:
当然,这可以通过在找到索引后立即退出for循环来进行一些优化,可能还有其他一些事情。你甚至可以使用linqify,这样你就不需要实际存储额外的数组,但是我现在想不出一个好的方法来实现这一点。
另一种检查位置的方法可能是
|
![]() |
2
3
在我看来,这是一个利用
我认为,这比其他建议的方法有一些优势:
想象一下这个场景:你想从一个文本文件中找到一段文字,其中包含了一部小说的全部文字。(并不是说这是你的设想——我只是在假设。)
再一次,我意识到这不一定 你的 场景——只是建议这种方法提供 可扩展性 作为它的优势之一。 下面是一个快速实现:
一些示例输入/输出(带有
代码:
输出:
代码:
输出:
代码:
输出:
代码:
输出:
|
![]() |
3
1
有几种方法可以解决这个问题: 第一种方法: 使用 String.IndexOf() 和 String.LastIndexOf() . 您可以使用 TextBox.SelectionStart() . 然后只需从选择位置查找lastIndexOf,查找“\n”以查找上一行(不要从选择中获取第一个lastIndexOf,一旦找到一个,请从该位置再次执行该操作,以便获得该行的开头)。然后从选择点执行同样的操作,只使用indexof查找'\n'以获取行的结尾。再一次,不要使用你找到的第一个,从第一个找到的位置开始重复它以得到第二行的结尾。然后简单地用找到的区域替换文本。 第二种方法: 使用 String.Split() 通过“\n”字符(创建一个字符串数组,每个字符串按照数组索引的顺序包含与文本不同的行)。找到文本所在行的索引,然后简单地从字符串[索引]中获取该行之前、包括和之后的索引。希望这两种方法足够清晰,可以让您理解您的代码。如果你还卡住了,告诉我。 |
![]() |
4
0
好吧。让我试试看, 我想我要做的第一件事就是把所有的东西分成数组。因为这样我们就有了一个简单的方法来“数”线。
一旦我们有了它,不幸的是,我不知道有任何索引穿过数组中的每个点。可能有一个,但如果不在网上拖网,我只会去
好吧,那么,我们现在有电话了。我们要做的就是…
我知道那太乱了。但这就是我解决问题的方法。 |
![]() |
Ben · 统计向量中的单词在字符串中出现的频率 6 月前 |
![]() |
bear_525 · 从列中删除中间名和首字母,并保存在单独的列中 7 月前 |
![]() |
asdfadf · 为什么具有相同内存值的字符串和整数打印方式不同? 7 月前 |
![]() |
user764754 · 防止多行原始字符串文字中出现新行字符 8 月前 |
![]() |
Bogaso · 从列表中返回与模式匹配的元素 8 月前 |
![]() |
Jasco · 如何使用VBA提取两个相似字符之间的字符串中的单词? 8 月前 |