1

我有一个这样的字符串:“Name foo Modified bar”

我想拆分这个字符串,然后只返回“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);

如果输出是名称字符串被拆分成的 ArrayList,这将起作用。

我应该如何获得这个结果?我应该使用我找到的字符串拆分方法还是其他方法?有没有办法将字符串拆分为数组列表?

谢谢。

4

5 回答 5

5

在一行中:

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

成两半:

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

要创建一个 ArrayList:

ArrayList<String> tokenList = new ArrayList<String>(Arrays.asList(tokens));
于 2012-07-19T15:50:38.163 回答
2

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

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

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

List<String> nameList = Arrays.asList(nameString.split(" "));
String name = nameList.get(1);
于 2012-07-19T15:54:21.110 回答
1

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

所以

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

有关更多信息,请参阅数组教程。

于 2012-07-19T15:51:12.407 回答
0

如果你想要 ArrayList -

new ArrayList<String>( Arrays.asList(nameString.split(" ") ) )
于 2012-07-19T15:51:44.673 回答
0

有没有办法将字符串拆分为数组列表?是的:

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;
        }
    }
于 2012-07-19T15:52:18.323 回答