2

我想将字符串拆分为数组。
我使用方法 string.split。

我的代码

            list = "Toni Mustermann|Jenny Mustermann|Jorge Mustermann";
            kinderarray = list.split("|");

但这是输出(Android):http: //i.stack.imgur.com/QHmvT.png

http://i.stack.imgur.com/QHmvT.png

编码:

AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setTitle("Wähle ein Kind");
    builder.setItems(kinderarray, new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int item) {
            selectkind = kinderarray[item];
            Toast.makeText(MainActivity.this, selectkind, Toast.LENGTH_SHORT).show();
        }
    });
    AlertDialog alert = builder.create();
    alert.show();
4

1 回答 1

10

String#split使用正则表达式作为其参数。管道字符是用于在表达式中表示OR|的特殊字符。应该逃脱

kinderarray = list.split("\\|");

否则OR表达式将导致基于其单个字符完整的初始空元素String拆分为一个数组。StringString

在明年的 Java 8 版本中保持不变,因此不太可能改变。

于 2013-07-26T19:55:36.193 回答