gpt4 book ai didi

java - 使用 BreakIterator 跳过非字母字符

转载 作者:行者123 更新时间:2023-12-01 10:49:07 24 4
gpt4 key购买 nike

我的目标是使用 BreakIterator 将“<,Bold,>”转换为“< Bold>”(“<”和“B”之间没有空格)

说字符串“这是一个测试。”是我的输入

public static List<String> getWords(String text) {
List<String> words = new ArrayList<String>();
BreakIterator breakIterator = BreakIterator.getWordInstance();
breakIterator.setText(text);
int lastIndex = breakIterator.first();
while (BreakIterator.DONE != lastIndex) {
int firstIndex = lastIndex;
lastIndex = breakIterator.next();
if (lastIndex != BreakIterator.DONE) {
String t = text.substring(firstIndex, lastIndex);
words.add(t);
}
}
return words;
}

getWords(String) 返回 <,Bold,>, ,This, ,is, ,a, ,test。

我已经尝试过:

            String t = text.substring(firstIndex, lastIndex);
if (t != "<" || t != ">" || t != "/" || t != ">") System.out.println("Char Not Skipped " + t); else System.out.println("Char Skipped" + t);
//if (text.charAt (firstIndex - 1) == '<') t = "<" + t;
//if (text.charAt (lastIndex + 1) == '>') t += ">";
//if (text.charAt (lastIndex + 1) == '/' && text.charAt (lastIndex + 2) == '>') t += "/>";
//System.out.println(t);
words.add(t);

返回的只是 Char Not Skipped。

最佳答案

我不确定我是否正确地回答了您的问题。

如果要删除全部,在你的字符串中你可以轻松地做到:

    String s = "<,Bold,>, ,This, ,is, ,a, ,test";
String newString = s.replace(",", "");
System.out.println(newString);

输出如下:

This is a test

如果您只想删除<,,>你可以使用:

   String s = "<,Bold,>, ,This, ,is, ,a, ,test";   
String newString = (s.replace("<,", "<")).replace(",>", ">");
System.out.println(newString);

输出为

<Bold>, ,This, ,is, ,a, ,test

关于java - 使用 BreakIterator 跳过非字母字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34021411/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com