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

2022-09-01 20:09:22

我一直在试图弄清楚如何在两个特殊字符'和“我一直在研究正则表达式”之间提取字符串的一部分,但坦率地说,我无法理解它。
Java 代码中的示例:

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

我想拉出89

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

此外,知道如何从一开始就将字符串的一部分提取到特定字符(例如获得21)会很好。


答案 1

试试这个正则表达式:

'(.*?)"

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

"'(.*?)\""

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

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

看到它在线工作:ideone


答案 2

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

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