Java 如何在android中执行智能字符串检查
我有一个长字符串文本,例如: 第2条:Java 如何在android中执行智能字符串检查,java,android,regex,Java,Android,Regex,我有一个长字符串文本,例如: 第2条: 12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123 第3条: 12345678901234567890123456789012345678901234567890123456789012345678901234567890
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个字符不等于空格,则我要读取字符串,我要完全读取单词,然后在单词后断开。。