之后使用开关拆分字符串

时间:2015-02-12 08:29:44

标签: java string split

我目前正在将一个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;
}

谢谢!

1 个答案:

答案 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

然后您可以将键值对放在任意位置,例如MapPropertyConfig等等。然后切换句子就可以正常运行。您还可以在使用之前检查该值是否为空,因为该值可能不包含任何内容。