如何避免包含非标准字符的断字?
How to avoid word break containing non-standard character?
在我的应用程序中,用户输入了一段文本。
我将文本放入数组中,并以随机顺序用日语符号替换每个单词的其中一个字母。
word.replace(letter, japaneseSymbol);
例如:
WoあdOne wいrdTwo wordうhree wえrdFour wordFおve.
然后我在TextView中显示文本:
content.setText(TextUtils.join(" ", convertedWords));
问题是换行符显示不正确:
WoあdOne wいrdTwo wordうhree w
えrdFour wordFおve.
我不想打破这个词。
你知道如何避免断字吗?
public static String wrapString(String string, int charWrap) {
int lastBreak = 0;
int nextBreak = charWrap;
if (string.length() > charWrap) {
String setString = "";
do {
while (string.charAt(nextBreak) != ' ' && nextBreak > lastBreak) {
nextBreak--;
}
if (nextBreak == lastBreak) {
nextBreak = lastBreak + charWrap;
}
setString += string.substring(lastBreak, nextBreak).trim() + "\n";
lastBreak = nextBreak;
nextBreak += charWrap;
} while (nextBreak < string.length());
setString += string.substring(lastBreak).trim();
return setString;
} else {
return string;
}
}
在我的应用程序中,用户输入了一段文本。 我将文本放入数组中,并以随机顺序用日语符号替换每个单词的其中一个字母。
word.replace(letter, japaneseSymbol);
例如:
WoあdOne wいrdTwo wordうhree wえrdFour wordFおve.
然后我在TextView中显示文本:
content.setText(TextUtils.join(" ", convertedWords));
问题是换行符显示不正确:
WoあdOne wいrdTwo wordうhree w
えrdFour wordFおve.
我不想打破这个词。 你知道如何避免断字吗?
public static String wrapString(String string, int charWrap) {
int lastBreak = 0;
int nextBreak = charWrap;
if (string.length() > charWrap) {
String setString = "";
do {
while (string.charAt(nextBreak) != ' ' && nextBreak > lastBreak) {
nextBreak--;
}
if (nextBreak == lastBreak) {
nextBreak = lastBreak + charWrap;
}
setString += string.substring(lastBreak, nextBreak).trim() + "\n";
lastBreak = nextBreak;
nextBreak += charWrap;
} while (nextBreak < string.length());
setString += string.substring(lastBreak).trim();
return setString;
} else {
return string;
}
}