获取字符串的特定子字符串

时间:2016-07-22 09:11:57

标签: java regex substring

我想知道是否有人可以提供帮助。我有一个大字符串,类似于下面的字符串:

Name="firstName" Description="this is a test description" date="01/01/2016".  

我想在java中做的只是简单地抽象一下这个字符串的一小部分,即描述之后的位,它在引号中,理想情况下会给我"这是一个测试描述"。有人能指导我如何实现这一目标吗?

感谢。

2 个答案:

答案 0 :(得分:3)

您可以使用以下正则表达式:.*Description=\"([\\w ]+)\".*"。您想要的字符串是捕获组1.例如:

    Pattern pattern = Pattern.compile(".*Description=\"([\\w ]+)\".*");
    Matcher matcher = pattern.matcher(input);
    System.out.println(matcher.group(1));

答案 1 :(得分:2)

如果字符串与您的完全一致?

让我们说字符串看起来像这样,你可以使用split。

 String description = str.split("\"")[3];

这将准确地给出Description引号之间的部分,只是一个分裂。您可以使用small example

在此处运行它

作为一个小注释:这假设实际内容部分中没有"。 (在名字中,我假设这是一个安全的猜测,但我不确定描述部分是否也可以这样说)