如何将String拆分为数组然后返回给定元素?

时间:2012-07-19 15:48:37

标签: java string

我有一个这样的字符串:“名字foo修改栏”

我想拆分此字符串,然后只返回“foo”。我已经研究过拆分字符串了,发现了这个:

String nameString = "Name foo Modified bar";
System.out.println(
    java.util.Arrays.toString(
    nameString.split(" ")
));

输出:

[Name, foo, Modified, bar]

我希望能够自己获得“foo”作为局部变量。 像这样:

String name = output.get(1);

如果输出是一个将namestring分割成的ArrayList,那么这将有效。

我应该如何获得这个结果? 我应该使用我找到的字符串拆分方法还是别的?有没有办法将字符串拆分成arraylist?

感谢。

5 个答案:

答案 0 :(得分:5)

在一行中:

String name = nameString.split(" ")[1];

二:

String []tokens = nameString.split(" ");
String name = tokens[1];     

创建一个ArrayList:

ArrayList<String> tokenList = new ArrayList<String>(Arrays.asList(tokens));

答案 1 :(得分:2)

最简单的方法是使用方括号表示法从数组中获取元素:

String nameString = "Name foo Modified bar";
String name = nameString.split(" ")[1];

或者,如果您特别希望它作为集合:

List<String> nameList = Arrays.asList(nameString.split(" "));
String name = nameList.get(1);

答案 2 :(得分:1)

String.split()返回一个数组。

所以

String[] elems = nameString.split(" ");
String result = elems[1];

有关详细信息,请参阅Arrays教程。

答案 3 :(得分:0)

如果你想要ArrayList -

new ArrayList<String>( Arrays.asList(nameString.split(" ") ) )

答案 4 :(得分:0)

有没有办法将字符串拆分为arraylist? 是:

String toFindString="foo";
String nameString = "Name foo Modified bar";
List<String> nameStringList = Arrays.asList(nameString.split(" "));

从列表中查找任何字符串。

for (String string : nameStringList) {
        if(string.equals(toFindString)){
                return string;
        }
    }