当前位置: 首页 > 面试题库 >

在Java中提取两个字符串之间的字符串

楚翰
2023-03-14
问题内容

我尝试获取<%=和%>之间的字符串,这是我的实现:

String str = "ZZZZL <%= dsn %> AFFF <%= AFG %>";
Pattern pattern = Pattern.compile("<%=(.*?)%>");
String[] result = pattern.split(str);
System.out.println(Arrays.toString(result));

它返回

[ZZZZL ,  AFFF ]

但我的期望是:

[ dsn , AFG ]

我在哪里错了以及如何纠正它?


问题答案:

您的模式很好。但是,您不应该split()轻信它,应该find()这样做。以下代码提供了您正在寻找的输出:

String str = "ZZZZL <%= dsn %> AFFF <%= AFG %>";
Pattern pattern = Pattern.compile("<%=(.*?)%>", Pattern.DOTALL);
Matcher matcher = pattern.matcher(str);
while (matcher.find()) {
    System.out.println(matcher.group(1));
}


 类似资料:
  • 问题内容: 我从html解析中得到一个字符串,即 我的代码是这样的 我不确定我的第二个拆分字符串应该是“’”还是“’,” 我希望我的结果是 问题答案: 我将使用正则表达式从这样的复杂输入中提取子字符串。 Swift 3.1: Swift 2.0:

  • 问题内容: 我需要从两个字符之间获取字符串。我有这个 并且必须在一个变量中分别返回4个字符串: 问题答案: 有。由于它接受正则表达式字符串,并且是正则表达式中的特殊字符,因此您需要对其进行转义(带有反斜杠)。而且,由于是在Java中字符串字面特殊字符,你需要逃脱 它 ,也一样,人们有时会感到迷惑。因此给出: 然后 将输出 ( 在 前三位上 有 尾随空格;如果需要,这些空格。)

  • 问题内容: 我一直在尝试找出如何在两个特殊字符’和’之间提取字符串的一部分,我一直在研究regex,但坦率地说,我无法理解它 。Java代码示例: 我想拔出89 通常,我只想知道如何在两个特定字符之间提取字符串的一部分。 另外,很高兴知道如何从一开始就将字符串的一部分提取到特定字符,例如21。 问题答案: 试试这个正则表达式: 作为Java字符串文字,您将必须编写如下: 这是一个更完整的示例,演示

  • 问题内容: 我有一个像 “ ABC [这是为了提取]” 我想提取Java中的部分。我正在尝试使用split,但是它不能按我想要的方式工作。有人有建议吗? 问题答案: 如果您的字符串中只有一对方括号(),则可以使用:

  • 问题内容: 我有这样的java字符串: 我想删除标签。我还有一些其他字符串,其中标签的长度更长,因此我想找到一种方法来删除“ <>”字符之间的所有内容,包括那些字符。 一种方法是使用将字符串与regEx进行比较的内置字符串方法,但是我不知道如何编写它们。 问题答案: 注意使用正则表达式时,解析HTML(由于其允许的复杂性),但是,对于“简单” HTML,以及简单的文本(文本没有字面建议或它)这将工

  • 问题内容: 想要改善这篇文章吗? 提供此问题的详细答案,包括引文和为什么答案正确的解释。答案不够详细的答案可能会被编辑或删除。 我需要一个函数来返回两个单词(或两个字符)之间的子字符串。我想知道是否有实现该功能的php函数。我不想考虑正则表达式(嗯,我可以做一个,但实际上并不认为这是最好的方法)。思维与功能。这是一个例子: 我们调用该函数: 它返回:“我想要一个蛋糕”。 提前致谢。 更新: 嗯,到