首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用BreakIterator跳过非字母字符

用BreakIterator跳过非字母字符
EN

Stack Overflow用户
提问于 2015-12-01 13:17:59
回答 1查看 78关注 0票数 0

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

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

代码语言:javascript
复制
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(字符串)返回<,Bold,>,这个,is,a,test。

我试过:

代码语言:javascript
复制
            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没有跳过。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-12-01 13:23:41

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

如果要删除字符串中的所有,,则可以轻松完成以下操作:

代码语言:javascript
复制
    String s = "<,Bold,>, ,This, ,is, ,a, ,test";
    String newString = s.replace(",", "");
    System.out.println(newString);

输出将如下所示:

这是个测试

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

代码语言:javascript
复制
   String s = "<,Bold,>, ,This, ,is, ,a, ,test";   
   String newString =  (s.replace("<,", "<")).replace(",>", ">");
   System.out.println(newString);

其产出将是

<Bold>,这个,是,a,测试

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34021411

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档