Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/354.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 - Fatal编程技术网

在Java中将字符串转换为数组?

在Java中将字符串转换为数组?,java,Java,我有一个字符串,其值如下(格式相同): 我想将其转换为一个数组,并使用索引获取占用值 有什么建议吗?阅读有关拆分功能的内容。您可以按“”拆分文本,然后按“:”阅读有关拆分函数的信息。您可以按“”拆分文本,然后按“:”我建议使用字符串。我建议使用字符串。基本上,您可以使用Java的拆分()函数: String str = "Name:Glenn Occupation:Code_Monkey"; String[] temp = str.split(" "); String[] name = tem

我有一个字符串,其值如下(格式相同):

我想将其转换为一个数组,并使用索引获取占用值


有什么建议吗?

阅读有关拆分功能的内容。您可以按“”拆分文本,然后按“:”

阅读有关拆分函数的信息。您可以按“”拆分文本,然后按“:”

我建议使用字符串。

我建议使用字符串。

基本上,您可以使用Java的
拆分()函数:

String str = "Name:Glenn Occupation:Code_Monkey";

String[] temp = str.split(" ");
String[] name = temp[0].split(":");
String[] occupation = temp[1].split(":");
结果值为:

name[0] - Name
name[1] - Glenn

occupation[0] - Occupation
occupation[1] - Code_Monkey

基本上,您可以使用Java的
split()
函数:

String str = "Name:Glenn Occupation:Code_Monkey";

String[] temp = str.split(" ");
String[] name = temp[0].split(":");
String[] occupation = temp[1].split(":");
结果值为:

name[0] - Name
name[1] - Glenn

occupation[0] - Occupation
occupation[1] - Code_Monkey

听起来像是要转换为属性映射,而不是数组

e、 g

String text=“姓名:xxx职业:yyy电话:zzz”;
映射属性=新建LinkedHashMap();
for(字符串keyValue:text.trim().split(“+”)){
String[]parts=keyValue.split(“:”,2);
放置(第[0]部分、第[1]部分);
}
字符串名称=属性。获取(“名称”);//等于xxx

这种方法允许您的值按任意顺序排列。如果缺少键,get()将返回null

听起来像是要转换为属性映射而不是数组

e、 g

String text=“姓名:xxx职业:yyy电话:zzz”;
映射属性=新建LinkedHashMap();
for(字符串keyValue:text.trim().split(“+”)){
String[]parts=keyValue.split(“:”,2);
放置(第[0]部分、第[1]部分);
}
字符串名称=属性。获取(“名称”);//等于xxx

这种方法允许您的值按任意顺序排列。如果缺少键,get()将返回null

如果您只对职业价值感兴趣,您可以:

String s = "name:xxx occupation:yyy phone:zzz";
Pattern pattern = Pattern.compile(".*occupation:(\\S+).*");
Matcher matcher = pattern.matcher(s);
if (matcher.matches()){
    String occupation = matcher.group(1);
}

如果您只对职业价值感兴趣,您可以:

String s = "name:xxx occupation:yyy phone:zzz";
Pattern pattern = Pattern.compile(".*occupation:(\\S+).*");
Matcher matcher = pattern.matcher(s);
if (matcher.matches()){
    String occupation = matcher.group(1);
}
我得到了解决方案:

String[] temp= objValue.split("\n");
String[] temp1 = temp[1].split(":");
String Value = temp1[1].toString();
System.out.println(value);
我得到了解决方案:

String[] temp= objValue.split("\n");
String[] temp1 = temp[1].split(":");
String Value = temp1[1].toString();
System.out.println(value);

值是动态的,iam存储在字符串中我的问题是如何将该字符串值转换为数组并获取值?值是动态的,iam存储在字符串中我的问题是如何将该字符串值转换为数组并获取值?案例名称:Glenn Nelson(包括空格)好吧,那将改变竞争环境。他要求的格式是xxx:xxx yyy:yyy而不是xxx:xx x yyy:y yy。我不是静态地声明字符串,而是动态地存储它,值是一个接一个地出现的(比如名称:Glenn,然后在新行职业:Code_Monkey)???????我只是给你所要求的基本原理。动态执行取决于程序的IO。案例名称:Glenn Nelson(包括空格),这将改变游戏环境。他要求的格式是xxx:xxx yyy:yyy而不是xxx:xx x yyy:y yy。我不是静态地声明字符串,而是动态地存储它,值是一个接一个地出现的(比如名称:Glenn,然后在新行职业:Code_Monkey)???????我只是给你所要求的基本原理。动态执行取决于程序的IO。