【问题标题】:Getting a specific word in a string获取字符串中的特定单词
【发布时间】:2013-11-25 05:18:16
【问题描述】:

我是java新手,我有一个字符串

"rdl_mod_id:0123456789\n\nrdl_mod_name:Driving Test\n\nrdl_mod_type:PUBL\n\nrdl_mod_mode:Practice\n\nrdl_mod_date:2013-04-23"

我想要的是得到Driving Test 字。这个词是动态变化的,所以我想要在rdl_mod_name:\n 之间找到这个词。

【问题讨论】:

    标签: java android string char


    【解决方案1】:

    试试下面的..它会在你的情况下工作..

            String str = "rdl_mod_id:0123456789\n\nrdl_mod_name:Driving Test\n\nrdl_mod_type:PUBL\n\nrdl_mod_mode:Practice\n\nrdl_mod_date:2013-04-23";
            Pattern pattern = Pattern.compile("rdl_mod_name:(.*?)\n");
            Matcher matcher = pattern.matcher(str);
            while (matcher.find()) {
                System.out.println(matcher.group(1));
            }
    

    您也可以使用regex,matcher,pattern 来获得您想要的结果..

    以下链接也将给你一个公平的想法:

    Extract string between two strings in java

    Java- Extract part of a string between two special characters

    How to get a string between two characters?

    【讨论】:

    • 那个正则表达式似乎对我不起作用。我尝试在开始时添加 .*,但这也无济于事。
    • OP 问题中提供的那个。
    【解决方案2】:

    我会研究 java 正则表达式 (regex)。 String 匹配方法使用正则表达式来确定字符串中是否存在模式。对于您正在做的事情,我可能会使用“matches(rdl_mod_.*\n)”。 '.*' 是字符串的通配符,因此在此上下文中,它表示 rdl_mod 和 \n 之间的任何内容。我不确定matches方法是否可以处理正斜杠(它们表示特殊的文本字符),因此您可能必须用不同的字符替换它们或完全删除它们。

    【讨论】:

      【解决方案3】:
       Use java's substring() function with java indexof() function.
      

      【讨论】:

        【解决方案4】:

        试试这个代码:

        String s = "rdl_mod_id:0123456789\n\nrdl_mod_name:Driving Test\n\nrdl_mod_type:PUBL\n\nrdl_mod_mode:Practice\n\nrdl_mod_date:2013-04-23";
        String sArr[] = s.split("\n\n");
        String[] sArr1 = sArr[1].split(":");
        System.out.println("sArr1[1] : " + sArr1[1]);
        

        s.split("\n\n");将根据\n\n拆分字符串。 第二个拆分即sArr[1].split(":"); 将根据: 拆分数组sArr 中的第二个元素,即将rdl_mod_name:Driving Test 拆分为rdl_mod_name 和Driving Test。 sArr1[1] 是您想要的结果。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2019-05-17
          • 1970-01-01
          • 1970-01-01
          • 2014-10-03
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2022-08-02
          相关资源
          最近更新 更多