簡體   English   中英

在Java中使用分隔符按分隔符計數拆分字符串

[英]Split String using delimiter by delimiter count in java

我有一個數據看起來像:

4819116 | 2014-12-25T06:45:42 | 24.4153 | -109.0765

int|yyyy-mm-ddTHH:MM:SS|int| -ve int

我想拆分為:

4819116, 2014, 12, 25, 06:45:42, 24.4153, -109.0765

當我將定界符用作: String col [] = line.split("[|T-]");

它將負數讀取為正數(即-109.0765109.0765 ),但我想讀取為負數。 即,我想使用-分隔符僅2次。

看起來您想分割-僅在數字周圍。

在這種情況下,使用split("[|T]|(?<=\\\\d)-(?=\\\\d)")

(?<=\\\\d)(?=\\\\d)環顧機制

DEMO:

String data = "4819116|2014-12-25T06:45:42|24.4153|-109.0765";
System.out.println(Arrays.toString(data.split("[|T]|(?<=\\d)-(?=\\d)")));

輸出: [4819116, 2014, 12, 25, 06:45:42, 24.4153, -109.0765] : [4819116, 2014, 12, 25, 06:45:42, 24.4153, -109.0765] : [4819116, 2014, 12, 25, 06:45:42, 24.4153, -109.0765]

您可以使用line.split("([|T]|(?<![|])-)")將其split為“ |” 或“ T”或“-”后沒有“ |”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM