Java 如何在android中执行智能字符串检查

Java 如何在android中执行智能字符串检查,java,android,regex,Java,Android,Regex,我有一个长字符串文本,例如: 第2条: 12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123 第3条: 12345678901234567890123456789012345678901234567890123456789012345678901234567890

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

第2条:

12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123
第3条:

123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890 234567890
我想显示字符串中的前144个字符,我需要显示“阅读更多”。如果第144个字符不等于字符串3中所示的空格,那么我需要在第144个字符之后检查空格字符,然后我需要中断并显示read more

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

String.charAt(144) == ' ';
但是,如果第144个字符不是空格,那么当遇到下一个空格字符时,如何包装字符串以将其打断。

您可以使用以下代码:

// 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);
}

它将在字符串的144个字符后的空格上拆分,无论它有多远。根据您的示例,输出为:

123456789012134567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456701234567890


是否希望类似于
if(String.charAt(144)!=“”)的内容返回myString.split(“”[0]?如果第144个字符不等于空格,则我要读取字符串,我要完全读取单词,然后在单词后断开。。