获取字符串中的特定单词

时间:2013-11-25 05:18:17

标签: java android string char

我是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之间得到这个词。

4 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

 Use java's substring() function with java indexof() function.

答案 2 :(得分:0)

请尝试以下操作..它适用于您的情况..

        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));
        }

您还可以使用regexmatcherpattern来获得所需的结果。

以下链接也会给您一个公平的想法:

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?

答案 3 :(得分:0)

试试这段代码:

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:将测试驱动到rdl_mod_name和驾驶测试。 sArr1[1]是您想要的结果。