【问题标题】:Weird Java replaceFirst奇怪的 Java replaceFirst
【发布时间】:2013-09-29 05:52:53
【问题描述】:

这条线是什么意思?

str = str.replaceFirst("^\\s+", "")

我相信 ^ 必须是行首的符号,但 \\s+ 是什么?这只是一串字符还是有某种模式含义?

我正在尝试将此行转换为 JavaScript。

【问题讨论】:

  • 我相信它正在尝试修剪所有前导空格。
  • 谢谢你们让我很难选择“正确”的正确答案。
  • 字符串 s = "2+2=4"; System.out.println(s.replace("+", "-"));为什么会这样?

标签: java javascript regex


【解决方案1】:
  str = str.replaceFirst("^\\s+", "")

正在删除字符串开头的所有空格。

  • ^ 用于行首
  • \\s+ 用于多个空格

【讨论】:

    【解决方案2】:
    • \s 匹配任何空白字符(空格、制表符等)
    • + 表示前面的一个或多个字符或字符类。

    所以str.replaceFirst("^\\s+", "") 模式匹配字符串开头的任何空格,并将其删除。

    等效的 JavaScript 将是 str.replace(/^\s+/, '')

    【讨论】:

      【解决方案3】:

      \\s+ 是一个正则表达式。

      将其转换为 JavaScript 非常简单。

      str = str.replace(/^\s+/, '');
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-08-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多