我目前正在将一个VB项目移植到java,并遇到了我遇到的问题。
我收到的字符串如下所示:
HOST: xxx.xxx.xxx.xxx
DEFAULT: xxx.xxx.xxx.xxx
OS: LINUX
ID: az150
LIB: eth15
每个输出结束时的换行符,"之后的空格:" 我想拆分这些字符串并在之后使用一个开关盒。不确定订单是否始终保持不变。
开关盒看起来像这样:
switch(aString)
{
case "HOST":
String host = HOST Value (xxx.xxx.xxx.xxx);
do something with it
break;
...
default:
break;
}
谢谢!
答案 0 :(得分:0)
String.split()
方法能够解决问题,甚至不需要正则表达式。
建议你有一个像
这样的字符串String string = "HOST: xxx.xxx.xxx.xxx\n"
+ "DEFAULT: xxx.xxx.xxx.xxx\n"
+ "OS: LINUX\n"
+ "ID: az150\n"
+ "LIB: eth15";
然后您可以获得如下的键值行
String[] lines = str.split("\n");
对于数组中的每一行,可以实现键和值,如
String[] entry = s.split(":");
String key = entry[0];
String value = entry[1].trim(); // omit whitespace
然后您可以将键值对放在任意位置,例如Map
,Property
,Config
等等。然后切换句子就可以正常运行。您还可以在使用之前检查该值是否为空,因为该值可能不包含任何内容。