Java ';输入';文本挖掘中的检测

Java ';输入';文本挖掘中的检测,java,onclick,jtable,Java,Onclick,Jtable,我在做一个文本挖掘项目。当在他/她的文档中使用Enter(/br如果是HTML)输入文本时,我的程序也需要标记。现在我的程序只能检测“空间”。怎么做? 这是我的代码: private ArrayList tokenize(String inp) { ArrayList<String> out = new ArrayList<String>(); String[] split = inp.split(" "); for (i

我在做一个文本挖掘项目。当在他/她的文档中使用Enter(/br如果是HTML)输入文本时,我的程序也需要标记。现在我的程序只能检测“空间”。怎么做? 这是我的代码:

private ArrayList tokenize(String inp) {
        ArrayList<String> out = new ArrayList<String>();
        String[] split = inp.split(" ");

        for (int i = 0; i < split.length; i++) {
            if (!split[i].isEmpty()) {
                out.add(split[i]);
            }
        }
        return out;
    }
private ArrayList标记化(字符串inp){
ArrayList out=新的ArrayList();
字符串[]split=inp.split(“”);
对于(int i=0;i
您确定在入口处进行拆分不起作用吗?因为有了这个,

String s = "Hi b\nb bye";
System.out.println(s);
System.out.println();

String [] ss = s.split(" ");

for(String s2 : ss)
{
    System.out.println(s2);
}
这是我的输出:

Hi b
b bye

Hi
b
b
bye

如您所见,字符串在空格处和新行处被拆分(即使空格是唯一的正则表达式)。但是,如果这对您不起作用,您可以在字符串数组中循环并调用
String.split(“\n”)
。然后,您可以将新的拆分字符串添加到ArrayList。

您还可以使用简单的正则表达式来执行您想要的操作:

String input = "Line of text \nAnother line<br><br><br />html<br />line";
String [] parts = input.split("\\s+|(<br>|<br\\s*/>)+");
System.out.println(Arrays.asList(parts));
private List<String> tokenize(String inp) {
    List<String> out = new ArrayList<String>();
    String[] split = inp.split("\\s+|(<br>|<br\\s*/>)+");

    for (String s : split) {
        if (!s.isEmpty()) {
            out.add(s);
        }
    }
    return out;
}