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

Java Regex中的正斜杠

苏昂雄
2023-03-14
问题内容

我不明白为什么下面的代码不按预期运行

"Hello/You/There".replaceAll("/", "\\/");
  • 预期产量: Hello\/You\/There
  • 实际输出: Hello/You/There

我是否需要转义正斜线?我不这么认为,但是我也尝试了以下尝试……没有用

"Hello/You/There".replaceAll("\\/", "\\/");

最后,我意识到我不需要正则表达式,我可以只使用以下内容,而不会创建正则表达式

"Hello/You/There".replace("/", "\\/");

但是,我仍然想了解为什么我的第一个示例不起作用。


问题答案:

问题实际上是您需要在替换字符串中双转义 反斜杠
。您会看到,"\\/"(我确定您知道)表示替换字符串是\/,并且(您可能不知道)替换字符串\/实际上只是插入/,因为Java很奇怪,并且\在替换字符串中具有特殊含义。(据推测,这\$将是字面上的美元符号,但我认为真正的原因是他们想与人打交道。其他语言则不是这样做的。)因此,您必须编写以下两种方法:

"Hello/You/There".replaceAll("/", "\\\\/");

要么:

"Hello/You/There".replaceAll("/", Matcher.quoteReplacement("\\/"));

(使用java.util.regex.Matcher.quoteReplacement(String)。)



 类似资料:
  • 本文向大家介绍Python中的左斜杠、右斜杠(正斜杠和反斜杠),包括了Python中的左斜杠、右斜杠(正斜杠和反斜杠)的使用技巧和注意事项,需要的朋友参考一下 首先,"/"左倾斜是正斜杠,"\"右倾斜是反斜杠,可以记为:除号是正斜杠一般来说对于目录分隔符,Unix和Web用正斜杠/,Windows用反斜杠,但是现在Windows (一)目录中的斜杠们 python读文件需要输入的目录参数,列出以下

  • 问题内容: 我从基数排序中发现了以下代码示例: 什么是Python中吗? 问题答案: 是楼层划分操作员。它产生其操作数的商的底数,而整数操作数不进行浮点舍入。即使您可以将其与浮点数一起使用,这有时也称为整数除法,因为默认情况下,使用来除以整数即可。 在Python 3中,即使两个操作数都是整数,普通除法运算符也会返回浮点值,因此地板除法需要一个不同的运算符。这与Python 2不同,在Python

  • 问题内容: 我最近开始学习html,而让我真正困惑的一件事是,为什么有些链接在路径之前有一个正斜杠(“ /”),而有些链接却没有呢? 即。 与 一个是相对路径,一个是绝对路径吗?以及href的工作原理如何?它只是在基本网址后面贴在路径名上吗? 问题答案: 一个是相对路径,一个是绝对路径吗? 是。 如果您的浏览器当前指向: 将链接到。 将链接到。 如果HTML文档的开头有一个base元素,则相对路径

  • 所以,我在Node.js中使用multer,它给出了上传图像的反斜杠路径,但这不起作用,因为我需要将其转换为URL。 这是我得到的输出: 但是,我想用正斜杠替换图像前的反斜杠。 我试过这个: 但是,它只是去掉了反斜杠: 附:我知道这个网站上有这样的问题,但他们没有帮助我。例如,multer:文件的路径是不对的对我没有帮助,所以请不要将此标记为重复问题。多谢了。

  • 问题内容: 我从Instagram提取JSON: 然后将变量解析为PHP数组以重组数据,然后重新编码和缓存文件: 当我打开缓存文件时,我所有的正斜杠“ /”都被转义了: 我从搜索中收集到自动执行此操作…是否可以禁用它? 问题答案: 有没有办法禁用它? 是的,您只需要使用该标志。 重要的 阅读之前:https : //stackoverflow.com/a/10210367/367456(知道你在做

  • 有效URL:http://localhost:8080/api/abc 无效URL: http://localhost:8080////api/abc http://localhost:8080/////api///abc http://api/////abc 问题:我的控制器接受以上所有URL。我想限制它,只接受有效的url,并在无效的url上抛出错误。 注意:我没有使用任何自定义路由。这是sp