加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 从字符串中检索单词

发布时间:2020-12-15 04:59:47 所属栏目:Java 来源:网络整理
导读:我有这条线: (ADDRESS = (PROTOCOL = XXX)(HOST = YYY)(PORT = ZZZ)) 我需要检索主机名称,在这种情况下是YYY. 我不知道它是用小写还是大写,甚至是它们之间的混合. 所以我通过line.toUpperCase()将整行切换为大写,然后根据HOST =分割行,我选择字符直到我得到
我有这条线:

(ADDRESS = (PROTOCOL = XXX)(HOST = YYY)(PORT = ZZZ))

我需要检索主机名称,在这种情况下是YYY.

我不知道它是用小写还是大写,甚至是它们之间的混合.
所以我通过line.toUpperCase()将整行切换为大写,然后根据HOST =分割行,我选择字符直到我得到),这表示主机名的结束.

我确信有更好的方法可以做到这一点.任何提示将不胜感激.

我的代码:

String host = "";
line = line.toUpperCase();
int i = line.indexOf("HOST");
while(line.charAt(i)!='=')
    i++;
while(line.charAt(i)!=')') {
    i++;
    if(line.charAt(i)!=')'&&line.charAt(i)!=' ')
       host = host + line.charAt(i);
}
return host;

解决方法

尝试

String s= "(ADDRESS = (PROTOCOL = XXX)(HOST = YYY)(PORT = ZZZ)) }";
    String host = s.replaceAll("^.+((HOST|host) *= *(.+?)).+$","$2");

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读