Java:如何提取两个特殊字符之间字符串的一部分

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (351)

我一直在试图找出如何在两个特殊字符之间提取字符串的一部分,

Java代码中的示例:

String str="21*90'89\""; 

一般来说,我只想知道如何提取两个特定字符之间的字符串的一部分。

另外,很高兴知道如何从开始提取字符串的一部分到一个特定的字符,比如获取21。

提问于
用户回答回答于

如果您总是有这样的字符串(包含3部分),那么这就足够了:

 String str= "21*90'89\"";
 String between = str.split("\"|'")[1];
用户回答回答于

试试这个正则表达式:

'(.*?)"

作为Java字符串文本,您必须按照以下方式编写它:

"'(.*?)\""

下面是一个更完整的示例,演示如何将此正则表达式与Matcher:

Pattern pattern = Pattern.compile("'(.*?)\"");
Matcher matcher = pattern.matcher(str);
if (matcher.find()) {
    System.out.println(matcher.group(1));
}

看到它在网上工作:ideone

扫码关注云+社区

领取腾讯云代金券