如何在android

时间:2016-07-23 10:27:14

标签: java android regex

我有一个长字符串文本,例如:

String2:

12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123

String3:

123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890 234567890

我想在字符串中显示前144个字符,我需要显示更多内容。如果第144个字符不等于空格,如字符串3所示,那么我需要检查第144个字符后的空格字符,然后我需要打破并显示更多的读取。

我可以使用以下代码检查第144个字符是否为空格:

String.charAt(144) == ' ';

但是如果第144个字符不是空格,那么当遇到下一个空格字符时,如何包装字符串以使其中断。

1 个答案:

答案 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