如何避免包含非标准字符的分词?

时间:2019-01-30 09:37:56

标签: java android textview

在我的应用程序中,用户输入文本。 我将文本放在数组中,然后将每个单词的字母之一用日语符号随机替换。

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
えFour wordFおve。

我不想打断这个词。 您知道如何避免单词打断吗?

1 个答案:

答案 0 :(得分:0)

我在这里找到了解决方案- https://gamedev.stackexchange.com/questions/50547/how-to-force-a-line-break-before-the-last-word-of-a-line-reach-the-edge

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