разделить пунктирную строку Java - PullRequest
1 голос
/ 09 декабря 2011

У меня есть строка

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;
    }
}

Ответы [ 4 ]

2 голосов
/ 09 декабря 2011

Почему вы говорите, String.split(...) не работает для вас.Вы можете сделать что-то вроде этого:

String myString = "My-Name".split("-")[0];
String nameString = "My-Name".split("-")[1];

, и все должно работать нормально.

2 голосов
/ 09 декабря 2011

Почему это сложно!

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 голос
/ 09 декабря 2011

Вы можете сделать всю работу с помощью метода 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("-")));
}
1 голос
/ 09 декабря 2011

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.

вот, пожалуйста.

...