0
{
    ArrayList<String> node_array = new ArrayList<String>();
    String allValues[] = node.split("[(,)]");

    for(String value : allValues){
        node_array.add(value);
    }

nodeは文字列です。例:(3,4,5,6,3)

何らかの理由で、arraylistの内容を確認すると、分割によって要素としてスペースの痕跡が残るように見えます。具体的には、(と)が存在するはずです。私は何が間違っているのですか?

4

3 に答える 3

2

split()括弧とコンマで分割するように求めています。文字列では、最初の区切り文字である開き括弧の直前に空白のサブ文字列があります。split()その空白の部分文字列を保持し、結果の配列の0番目の要素に返します。

ドキュメントには、関数がどのように機能するかを示す例がたくさんあります。

これを回避するには、空の文字列を無視するか、句読文字で分割する代わりに、頭の正規表現を反転して数字を一致させることができます。

于 2012-12-04T14:07:39.113 に答える
2

の最初の文字である文字の1つとして区切り文字を定義したので、最初の区切り文字の前に空の文字列が表示されるStringため、空の文字列""が表示されますArrayList。ただし、アプリケーションの場合、次のように簡単に修正できます。

ArrayList<String> node_array = new ArrayList<String>();
String allValues[] = node.split("[(,)]");

for(String value : allValues){
  if(!value.equals("")) node_array.add(value);
}

return node_array;
于 2012-12-04T14:11:37.233 に答える
1
node.replace("(","").replace(")","").split(",");

また

node.substring(1,node.length()-1).split(",");
于 2012-12-04T14:14:10.857 に答える