我有一个字符串
str[] where str[0]="My-Name";
str[1]="is-drew";
我希望获得一个新字符str1[]
str1[0]="My"
,str1[1]="Name"
,str1[2]="is"
和str[3]="drew"
。我尝试编写的代码使用split()
方法并使用String
,但过于复杂且无法运行。是否有更简单的方式使用,例如StringBuilder
或Array
?
for(int i=0;i<result0.length;i++){
temp=result0[i];
temp1=temp.split("-");
for(int y=0;y<temp1.length;y++){
result1[y+z]=temp1[y];
z=z+1;
}
}
答案 0 :(得分:2)
为什么这很复杂!
String.split("-")
返回字符串数组。
正是您需要的
这将返回你需要的东西。
public String[] splitMe(String[] arr){
ArrayList<String> retList = new ArrayList<String>();
for(String t:arr){
String[] splits = t.split("-");
for(String s: splits){
retList.add(s);
}
}
return retList.toArray(new String[retList.size()]);
}
答案 1 :(得分:2)
为什么你说String.split(...)
不适合你。你可以这样做:
String myString = "My-Name".split("-")[0];
String nameString = "My-Name".split("-")[1];
它应该可以正常工作。
答案 2 :(得分:1)
str[i].split("-");
这会将字符串My-Name
拆分为My
和Name
。
List strList = new ArrayList();
// this part iterates
strList.addAll(Arrays.asList(str[i].split("-"));
strList.toArray(); // you have an array with all the split string.
你走了。
答案 3 :(得分:1)
您可以使用split方法完成所有工作。作为附加建议,您可以使用列表:
final String[] str = new String[2];
str[0] = "My-Name";
str[1] = "is-drew";
final List<String> sum = new ArrayList<String>(4);
for (final String part : str) {
sum.addAll(Arrays.asList(part.split("-")));
}