可以使用Java中的正则表达式来截取两个符号之间的数据。以下是一个示例代码,可以截取字符串中两个指定符号之间的数据:

public static String getStringBetweenTwoChars(String str, char startChar, char endChar) {
    String regex = startChar + "([^" + endChar + "]*)" + endChar;
    Pattern pattern = Pattern.compile(regex);
    Matcher matcher = pattern.matcher(str);
    if (matcher.find()) {
        return matcher.group(1);
    }
    return null;
}

这个方法接收三个参数:待截取的字符串 str,起始符号 startChar,结束符号 endChar。它首先将 startChar 和 endChar 拼接成一个正则表达式,然后使用 java.util.regex 包中的 Pattern 和 Matcher 类进行匹配,找到第一个匹配的子字符串,返回这个子字符串。
以下是一个示例调用:

String str = "这是一个示例,需要截取两个“-”之间的数据:-截取的数据-。";
String result = getStringBetweenTwoChars(str, '-', '-');
System.out.println(result); // 输出“截取的数据”
String str = "如果截取的是中文符号,需要截取两个“【”之间的数据:】截取的数据-。";
String result = getStringBetweenTwoChars(str,  "\\【", "\\】");
System.out.println(result); // 输出“截取的数据”

需要注意的是,这个方法只会返回第一个匹配的子字符串,如果字符串中存在多个符合条件的子字符串,只会返回第一个。如果没有找到匹配的子字符串,返回 null。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐