Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 用';分隔一个字符串';将字符转换为两个新字符串_Java_Mysql - Fatal编程技术网

Java 用';分隔一个字符串';将字符转换为两个新字符串

Java 用';分隔一个字符串';将字符转换为两个新字符串,java,mysql,Java,Mysql,一个名为item_list的MySQL表有一个名为description的字段,问题是以前的程序员将该项的名称和描述组合在一个名为description的字段中。数据现在是20k+。现在,在迁移过程中我会遇到一个问题。那么如何将一个问题分开呢 String description="BEARING, ROLLER 23230CKE4 SPHERICAL" 分成两个新的字符串 String name="BEARING" String description="ROLLER 23230CKE

一个名为item_list的MySQL表有一个名为description的字段,问题是以前的程序员将该项的名称和描述组合在一个名为description的字段中。数据现在是20k+。现在,在迁移过程中我会遇到一个问题。那么如何将一个问题分开呢

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