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

这些特殊字符在Java中是什么意思?

诸葛砚
2023-03-14
问题内容

我在看一些jdk代码。我找到了这些角色。有人可以向我解释这些是什么意思。

public static String quote(String s) {
    int slashEIndex = s.indexOf("\\E");        // What does this mean. Is this a special char in java. if so what does this do.
    if (slashEIndex == -1)
        return "\\Q" + s + "\\E";

    StringBuilder sb = new StringBuilder(s.length() * 2);
    sb.append("\\Q");
    slashEIndex = 0;
    int current = 0;
    while ((slashEIndex = s.indexOf("\\E", current)) != -1) {
        sb.append(s.substring(current, slashEIndex));
        current = slashEIndex + 2;
        sb.append("\\E\\\\E\\Q");
    }
    sb.append(s.substring(current, s.length()));
    sb.append("\\E");
    return sb.toString();
}

从上面的代码示例中,我能够找出正在发生的情况,因为该方法找到\的出现并将其转换为\ E和\ Q。有人可以解释为什么会这样。

有关此方法的更多上下文,我正在研究jdk 1.6中的Pattern.quote()方法


问题答案:

\Q\E正是Pattern.quote()呢,那就是 返回指定String的字面值模式String。

有关更多详细信息,请参见以下链接:

http://docs.oracle.com/javase/1.5.0/docs/api/java/util/regex/Pattern.html



 类似资料:
  • 问题内容: 我正在查看类似于以下内容的代码行: 我认为符号字符串是指每小时,每分钟等显示的数字字符的数量-或类似的东西,我不确定。 通常,我可以弄清楚这种情况,但是在Google上搜索“%02d%01d”时找不到任何有用的参考。有人能为我阐明一下吗? 问题答案: http://www.cplusplus.com/reference/clibrary/cstdio/printf/ 相同的规则应适用于

  • 问题内容: 除了标准,,和运营商; 但什么是这些均值(,,,)? 又如何操作? in返回正常的余数模量,但是仅当,为什么会这样?怎么办? 又如何操作?它有什么作用? 问题答案: :求幂 :异或(按位) :模数 :除以积分结果(舍弃余数)

  • 我不理解如何使这段代码在Java7中工作 这个符号在Java中到底是什么意思? 如果Java7不支持它,如何改变它,使它能够正常工作。

  • 问题内容: 这是什么? 这是不时出现的关于JavaScript语法的问题的集合。这也是社区Wiki, 因此邀请所有人参与维护此列表。 为什么是这样? 堆栈溢出不允许搜索特定字符。结果,在搜索运算符和其他语法标记时,不容易找到许多问题。这也使得关闭重复项变得更加困难。下面的列表可以帮助解决此问题。 主要思想是链接到Stack Overflow上的现有问题,因此我们更容易引用它们,而不是复制ECMAS

  • 问题内容: 我知道出于文档目的注释中的含义,但除此之外又意味着什么?(我通常只会在Google上搜索,但结果中会显示每个非字母符号) 问题答案: 该符号表示Java注释。Java注释的作用是,它为变量,方法,类,接口或其他语言元素添加了特殊的属性。(可以在声明注释时进行配置)。向某事物添加注释时,程序的其他部分可以检查某事物是否具有注释。然后,它可以使用此信息来完成所需的任何工作。 让我举几个例子

  • 我是Typescript和JavaScript的初学者,试图理解代码。我在代码中的几个地方遇到“<>”,如下例所述。 为什么我们在Typescript中使用“<>”。 谢谢