我想分析基於從文件只有一個長行「,以及[和]和{和}Java的String.split多個字符分隔符
對於如
{"ColumnTypes":"int32","fstring32","int32"],"ColumnNames":"ProductId",","ProductName","Quantity"]}
我的實際需要從該行兩種不同陣列列類型和列名。我提前嘗試string.split("\\W")
,但它無法正常工作。
請指導,謝謝。
我想分析基於從文件只有一個長行「,以及[和]和{和}Java的String.split多個字符分隔符
對於如
{"ColumnTypes":"int32","fstring32","int32"],"ColumnNames":"ProductId",","ProductName","Quantity"]}
我的實際需要從該行兩種不同陣列列類型和列名。我提前嘗試string.split("\\W")
,但它無法正常工作。
請指導,謝謝。
你需要拆就多個\\W
字符(加+
),但首先剪掉從這樣的字符前面,所以你沒有得到一個空白的第一個元素:
String[] array = string.replaceAll("^\\W+", "").split("\\W+");
當你在它的時候,從最後修剪它們,對吧? –
@TimPietzcker不需要。 'split()'從結果中刪除所有尾部空白。要包含空格,必須使用第二個參數「-1」(或非常大的數字)調用split()。 – Bohemian
謝謝,很高興知道。 –
最簡單的WA Y(與正則表達式)將允許多於一個非單詞字符匹配:
string.split("\\W+")
嘗試使用正則表示法'/ \ W + /'代替'「\\ W +」' –
@JohnStrickler:在Java中? –
哎呦。不,你是對的。我有一個腦屁。正在思考JavaScript –
而你100%肯定這些字符不會是你的字符串文字的一部分? –
所有這些大括號和括號非常不平衡。他們真的是那樣嗎?如果他們不是,這幾乎看起來像JSON,所以你可以更明智地解析你的字符串。 –
您好@TimPietzcker非常感謝您的輸入。是的,它可能是JSON我不知道你能指導我如何解析它。它寫在普通的模式文本文件中。 – u449355