我收到服务器的回复,如下所示:"用户名|名称|帐户类型|组织"。 有没有办法使用" |' s"作为分隔符并分别获取每个变量。我猜我必须使用for循环。
答案 0 :(得分:4)
您可以将String.split
与|
一起使用。它将返回String[]
数组。例如
String test = "Username|Name|AccountType|Organization";
for (String token : test.split("\\|")) {
Log.i("TEST", token);
}
答案 1 :(得分:3)
如果您使用Guava's Splitter class:
List<String> tokens = Splitter.on("|").split("Username|Name|AccountType|Organization");
使用Apache Commons' StringUtils class:
String[] tokens = StringUtils.split("Username|Name|AccountType|Organization", '|');
String[] test = "Username|Name|AccountType|Organization".split("\\|");
PS:不,你不需要Guava或Apache Commons来分割字符串。但它们带来了许多非常有用的东西,可以使你的代码更加健壮。 Guava是我在任何项目中包含的库之一。
答案 2 :(得分:2)
是的,就像你对任何其他String.split
一样。
这是一个快速的例子:
public class Stack
{
public static void main(String[] args)
{
String test = "Username|Name|AccountType|Organization";
String[] token = test.split("\\|");
System.out.println(test);
System.out.println();
for(int i=0; i<token.length; i++)
System.out.println(token[i]);
System.out.println();
}
}
输出如下;
Username|Name|AccountType|Organization
Username
Name
AccountType
Organization