我有一个长字符串文本,例如:
String2:
12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123
String3:
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890 234567890
我想在字符串中显示前144个字符,我需要显示更多内容。如果第144个字符不等于空格,如字符串3所示,那么我需要检查第144个字符后的空格字符,然后我需要打破并显示更多的读取。
我可以使用以下代码检查第144个字符是否为空格:
String.charAt(144) == ' ';
但是如果第144个字符不是空格,那么当遇到下一个空格字符时,如何包装字符串以使其中断。
答案 0 :(得分:2)
您可以使用此代码:
// String to be scanned to find the pattern.
String line = "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890 234567890";
String pattern = "(.{144}[^ ]*).*";
// Create a Pattern object
Pattern r = Pattern.compile(pattern);
// Now create matcher object.
Matcher m = r.matcher(line);
if (m.find( )) {
System.out.println(m.replaceAll("$1..."));
} else {
System.out.println(line);
}
请参阅demo。
它将在字符串的144 th 字符之后的空格上分割,无论它有多远。在您的示例中,输出为:
... 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890