我已经在数据库中逐个存储了一些像[john smith, mary jones, mary john albert,..]
这样的多项字符串。
我的代码是:
stas1.executeUpdate("insert into c_ngram values('"+v[j]+"')");
}
StringTokenizer st1m=new StringTokenizer(v[j],"/");
int i1=0;
String posm1[]=new String[10000];
while(st1m.hasMoreElements())
{
posm1[i1]=st1m.nextToken().replace("/", "").trim();
il++;
int ikm=0;
while(st1m.next()!=null)
{
//===========;
ikm++;
}
这里v [j]是数据库中的字符串。 请帮我。 提前谢谢。
答案 0 :(得分:1)
我将使用相同的顺序回答:
当您尝试在单个字符串中迭代字符串数组时,例如“一,二,三”,您可以用两种形式执行此操作。
第一种形式是使用方法split(",")
,此方法将在String []中转换String,然后您可以使用循环在String数组的元素之间进行迭代:
String x = "One,two,three";
String[] array = x.split(",");
for(String item: array){
System.out.println(item);
}
您可以使用StringTokenizer并在元素之间使用迭代。
StringTokenizer tokens=new StringTokenizer(x,",");
//then you do this iterator
while(tokens.hasMoreElements()){
System.out.println(tokens.nextElement());
}
对于第二个问题,我们考虑为每个元素插入一个名称。 让我们使用一个表例如:person(整数id,varchar名称),然后从字符串中插入你的名字,如下例所示:
String x = "john smith, mary jones, mary john albert";
StringTokenizer tokens=new StringTokenizer(x,",");
//then you do this iterator
while(tokens.hasMoreElements()){
... insert each element.
}
当您想要访问数据库并找到包含John的名称时,请使用类似的。
Select p.name from person p where p.name like '%John%';
使用此查询,数据库将尝试在每个元素和列名称中查找文本John
。
第三个答案.trim()方法删除第一个字符之前和最后一个字符之后的空格。
String name = " Ana Maria ";
System.out.println(name.trim());
回复将为Ana Maria
;
查看
关于字符串:http://docs.oracle.com/javase/7/docs/api/java/lang/String.html
关于StringTokenizer:http://docs.oracle.com/javase/7/docs/api/java/util/StringTokenizer.html
关于QUERY LIKE运算符:http://www.w3schools.com/sql/sql_like.asp