在 JAVA 中从 Position1 到行尾(不是字符串)写入 1 行字符串
Writing 1 line of a string from Position1 to end of line (not String) in JAVA
我有一个 200 行的字符串,我从字符串中搜索特定单词是否出现在哪个位置,然后只将该行字符串写入变量而不是其他任何行。
我正在使用 subString 方法,但卡在行尾。
pos = docText.indexOf("ABC");
String known = docText.substring(pos+28 , *end of line*);
如何表示这个行尾
有几种方法可以做到这一点,但在我看来,最简单的解决方案是循环搜索搜索文本后的字符。
我假设 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
)
我有一个 200 行的字符串,我从字符串中搜索特定单词是否出现在哪个位置,然后只将该行字符串写入变量而不是其他任何行。 我正在使用 subString 方法,但卡在行尾。
pos = docText.indexOf("ABC");
String known = docText.substring(pos+28 , *end of line*);
如何表示这个行尾
有几种方法可以做到这一点,但在我看来,最简单的解决方案是循环搜索搜索文本后的字符。 我假设 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
)