Java逐个字符读取一个字符串并将其放入数组

时间:2018-07-06 09:41:24

标签: java arrays parsing split char

String text="99.91.220.138 - - [05/Oct/2015:06:37:26 +0300] "GET /R/0A/ID_0000013091.ism/QualityLevels(1469889)/Fragments(video=14795200000) HTTP/1.1" 200 658377 "-" "Firefox/1.5" "-" rt=0.000 ut="-" cs=HIT";

我想读取此字符串的所有字符,并将该字符串放在两个空白之间并放入数组中:

- array[0] will be "99.91.220.138"



- array[1] will be "-"



- array[2] will be "-"

现在如果两个空白之间有一个“ []”或引号(“”),我想获取字符串,直到像这样的标记结尾:

- array[3] will be "[05/Oct/2015:06:37:26 +0300]"



- array[4] will be "GET
   /R/0A/ID_0000013091.ism/QualityLevels(1469889)/Fragments(video=14795200000)
   HTTP/1.1"

在此之前或之后,我需要从阵列中删除“-”和不必要的东西,以提高性能。

除了使用正则表达式外,您还有什么建议?

1 个答案:

答案 0 :(得分:0)

我建议您使用分割功能。

因此,要使用第一个功能,请使用:

string.split(" ");

要保留引用的语句,这可能对您有帮助:

Split a string by whitespace, keeping quoted segments, allowing escaped quotes