这是一个函数,它接受一个长字符串并返回一个分段的字符串。
问题是k是空的。为什么split()
功能不起作用?
private String ConvertSentenceToParaGraph(String sen) {
String nS = "";
String k[] = sen.split(".");
for (int i = 0; i < k.length - 1; i++) {
nS = nS + k[i] + ".";
Double ran = Math.floor((Math.random() * 2) + 4);
if (i > 0 && i % ran == 0) {
nS = nS + "\n\n";
}
}
return nS;
}
答案 0 :(得分:5)
String.split(String regex)
采用正则表达式。点.
表示每个字符&#39;。如果要拆分点字符,则必须将其\\.
转义。
答案 1 :(得分:4)
split
需要正则表达式,"."
是&#34;任何字符&#34;的正则表达式。如果要拆分每个.
字符,则需要将其转义:
String k[] = sen.split("\\.");
答案 2 :(得分:3)
split()
方法采用正则表达式。 .
是一个元字符,它匹配除换行符之外的任何字符。你需要逃脱它。使用:
String k[] = sen.split("\\.");
答案 3 :(得分:2)
变化:
sen.split(".");
要:
sen.split("\\.");
答案 4 :(得分:1)
如果要分割点,则需要转义点:
String k[] = sen.split("\\.");
.
分割正则表达式.
,表示任何字符。