Java解析字符串
我得到了一个.txt文件,其中包含不同格式的国籍和电话号码,所有这些都是单引号符号,而且它还包含空行(“”): 在我借助Java解析字符串,java,regex,parsing,Java,Regex,Parsing,我得到了一个.txt文件,其中包含不同格式的国籍和电话号码,所有这些都是单引号符号,而且它还包含空行(“”): 在我借助readLine()解析之后,我得到了这些行的arr[0]。 我需要将行放入不同的数组:将带有“国籍”的行放入一个数组,将带有“电话号码”的行放入另一个数组。 我试过这个 if(!arr[0].equals("''")){ String[] arr1 = arr[0].split("'"); if(!arr1[1].matches("[0-9]+)"){
readLine()
解析之后,我得到了这些行的arr[0]
。我需要将行放入不同的数组:将带有“国籍”的行放入一个数组,将带有“电话号码”的行放入另一个数组。
我试过这个
if(!arr[0].equals("''")){
String[] arr1 = arr[0].split("'");
if(!arr1[1].matches("[0-9]+)"){
nations[n] = arr1[1];
n++;
}
else {
phone_numbers[p] = arr1[1];
p++;
}
}
当然它不起作用我建议实施某种系统来区分线路类型。您可以在国籍行的开头加上“n”,然后在代码中检测它。。。。或者,如果您知道这些行的确切顺序,例如国籍、编号、国籍、编号。。。您可以很容易地将这些行分开,例如lineNumber%numOfLineTypes==0将为您提供第一种类型的行…在您的问题中,您说您需要 将行放入不同的数组:将带有“国籍”的行放入一个数组,将带有“电话号码”的行放入另一个数组 我用这个文本文件进行了测试
''
'French'
'1-500'
'0345134123'
''
''
'Japan'
'2-200'
'08078933444'
''
''
''
'Germany'
'2-300'
'00078933444'
''
您将获得两个数组,国籍[nationArr]和带有电话的线路[phoneArr]。
答案是这样的
French
Japan
Germany
------------
1-500
0345134123
2-200
08078933444
2-300
00078933444
“当然没用了”。为什么?如果每个项目的行数是固定的,那么我看不出有任何理由不能迭代并将每行转储到其相应的数组中。您的文本文件模式是这样的:名称国籍地址电话名称国籍地址电话等等,“很多。荒谬的数目。比你想象的要多。当你已经走到了尽头,没有答案的痛苦超过了发帖所带来的巨大耻辱,这时你可以继续提问。因为在那一点上,你将做任何必要的研究,使它成为一个值得问的好问题!"
''
'French'
'1-500'
'0345134123'
''
''
'Japan'
'2-200'
'08078933444'
''
''
''
'Germany'
'2-300'
'00078933444'
''
French
Japan
Germany
------------
1-500
0345134123
2-200
08078933444
2-300
00078933444