String.split()在android中不起作用

时间:2015-06-07 21:27:24

标签: java android eclipse string

我有一个Java代码,用于从Minecraft服务器获取服务器信息。这将返回按§分割的数据。在eclipse中,当作为应用程序运行时,代码工作正常。问题是当我把它带到Android时。我已经对此做了一些研究,但未能找到有效的解决方案。 (尝试过Pattern.quote(“§”))这是我正在运行的一个例子:

String input = "Look like this§0§25";
String[] data = input.split("§");

预期的数据是一个3长的String [],其值为“看起来像这样”,“0”和“25”。这就是eclipse中发生的事情。在android中,我得到一个长度为1的String [],其值为“看起来像这个§§25”。有谁知道这是android的问题还是我做错了什么?

1 个答案:

答案 0 :(得分:1)

这显然是编码问题。我直接从你的问题中复制了字符串并粘贴在Android Studio中。然后,运行以下代码段:

String input = "Look like this§0§25";
String[] data = input.split("§");

for (int i = 0; i < data.length; i++)
    Log.v("data[" + i + "] ->", data[i]);

输出是你问的:

V/data[0] ->﹕ Look like this
V/data[1] ->﹕ 0
V/data[2] ->﹕ 25

或者,您可以按如下方式使用StringTokenizer:

StringTokenizer tokens = new StringTokenizer(input, "§");
String nextToken = tokens.nextToken();

但是,如果您没有正确匹配字符代码,则两种方法都不起作用。