我有一个200行的字符串,我从字符串中搜索特定单词是否出现在哪个位置,然后只将该行字符串写入变量,而不是其他任何一行。我正在使用子字符串方法,但卡在了行的末尾。
pos = docText.indexOf("ABC"); String known = docText.substring(pos+28 , *end of line*);
如何表示这一行的结束
gudnpqoy1#
有几种方法可以做到这一点,但在我看来,最简单的解决方案是在搜索文本后循环使用字符。我假设28是搜索文本的长度,因此您可以使用类似的方式查找行的其余部分
StringBuilder restOfLine = new StringBuilder(); char nextChar; for (int i = pos + 28; (nextChar = docText.charAt(i)) != '\n'; i++) restOfLine.append(nextChar); String known = restOfLine.toString();
作为替代,如果您已经在使用commons lang,您可以使用
String known = StringUtils.substringBetween(docText, "ABC", "\n");
只需记住在行尾使用正确的字符(我使用 \n (在示例中)
\n
1条答案
按热度按时间gudnpqoy1#
有几种方法可以做到这一点,但在我看来,最简单的解决方案是在搜索文本后循环使用字符。我假设28是搜索文本的长度,因此您可以使用类似的方式查找行的其余部分
作为替代,如果您已经在使用commons lang,您可以使用
只需记住在行尾使用正确的字符(我使用
\n
(在示例中)