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