Java 用';分隔一个字符串';将字符转换为两个新字符串
一个名为item_list的MySQL表有一个名为description的字段,问题是以前的程序员将该项的名称和描述组合在一个名为description的字段中。数据现在是20k+。现在,在迁移过程中我会遇到一个问题。那么如何将一个问题分开呢Java 用';分隔一个字符串';将字符转换为两个新字符串,java,mysql,Java,Mysql,一个名为item_list的MySQL表有一个名为description的字段,问题是以前的程序员将该项的名称和描述组合在一个名为description的字段中。数据现在是20k+。现在,在迁移过程中我会遇到一个问题。那么如何将一个问题分开呢 String description="BEARING, ROLLER 23230CKE4 SPHERICAL" 分成两个新的字符串 String name="BEARING" String description="ROLLER 23230CKE
String description="BEARING, ROLLER 23230CKE4 SPHERICAL"
分成两个新的字符串
String name="BEARING"
String description="ROLLER 23230CKE4 SPHERICAL"
任何帮助都将不胜感激。您可以这样尝试
String description="BEARING, ROLLER 23230CKE4 SPHERICAL";
String [] arr=description.split(",");
System.out.println(arr[0]);
System.out.println(arr[1]);
输出
BEARING
ROLLER 23230CKE4 SPHERICAL
String Split方法返回一个字符串数组。在字符串描述中,有一个逗号(,),因此整个字符串将被拆分为两个字符串。您可以使用StringTokenizer 像这样的
StringTokenizer st = new StringTokenizer(description,",");
String name=st.nextToken();
description=st.nextToken();
不幸的是,如果组合字符串中有超过1个
,
,字符串拆分函数将无法正常工作
我建议您只在第一个,
上拆分
int idx = description.indexOf(',');
if (idx != -1) { // if there is a comma
name = description.substring(0, idx);
description = description.substring(idx+1);
} else {
???? // no comma in description
}
所有答案的组合…,解决了问题
String name="",new_d ="";
String description="BEARING, ROLLER 23230CKE4 SPHERICAL";
int idx = description.indexOf(',');
if (idx != -1) { // if there is comma
String arr[]=description.split(",\\s*");
name=arr[0].toString();
new_d=arr[1].toString();
}
else {
// if there is no comma
name=description;
new_d="";
}
System.out.println(name);
System.out.println(new_d);
使用String.split();在Java或SQL中执行此操作相当简单,但是您需要选择一个,并且您需要向我们展示您自己解决问题的尝试。数据库在mysql中,我使用Java来分隔字符串。好的,我会尝试..谢谢..
split(,\\s*”)
或类似的方法,会更好(而且您的输出不是实际输出的直接拷贝和粘贴,它缺少一个前导空格)。是的,使用description.split(,\\s*)代替description.split(,”)会删除空格。谢谢Dukeling