一个反斜杠转化成两个反斜杠 将“/” 转化成“//”
来源:互联网 发布:网站商城网络整合营销 编辑:程序博客网 时间:2024/06/05 11:46
今天做一个从服务器批量下载的功能遇到一个小问题。
将一个反斜杠转化成两个反斜杠
很有意思的东东。我刚开始直接用replace("/","//"),发现不行。
然后用replace("//","////"),发现还是报错
Exception in thread "main" java.util.regex.PatternSyntaxException: Unexpected internal error near index 1
/
^
at java.util.regex.Pattern.error(Pattern.java:1650)
at java.util.regex.Pattern.compile(Pattern.java:1403)
at java.util.regex.Pattern.<init>(Pattern.java:1124)
at java.util.regex.Pattern.compile(Pattern.java:817)
at java.lang.String.replaceAll(String.java:2000)
at com.FileDemo.main(FileDemo.java:34)
大意是说正则表达式解析错误。
原理不知道,我百度了下发现有如下解释:
String.replaceAll()是用regular expression 来作为参数的。但是java本身的字符串对于转义符/也有类似的处理。首先,java会把“////”解释成一个字符串(其中包含两个char)——“//”这个就是你在JDK的文档里看到的。
接下来,由于replaceAll是以正则表达式作为参数,所以“//”被解释成一个regex。对于一个regex来说这就代表着一个字符,就是“/”。对后面的那个8个/来说,最终会被解释成“//”。
以上这段话比较难理解。要多读几遍才明白。
- 一个反斜杠转化成两个反斜杠 将“/” 转化成“//”
- JAVA将反斜杠"\"转成正斜杠"/"
- 斜杠/ 与反斜杠/
- 反斜杠正斜杠
- 斜杠和反斜杠
- 斜杠和反斜杠
- 斜杠与反斜杠
- 斜杠与反斜杠
- 斜杠与反斜杠
- 斜杠与反斜杠
- 斜杠“/” 反斜杠“\”
- 斜杠和反斜杠
- 斜杠 反斜杠
- /斜杠-\反斜杠问题
- js将字符串中所有反斜杠\替换成正斜杠/
- js将字符串中所有反斜杠\替换成正斜杠/
- js 把反斜杠\转换成正斜杠/
- 关于 斜杠 反斜杠 双斜杠 双反斜杠
- 雄起吧!如意棒。
- SQL 存储过程分页(来自网络做小修改)
- qt ttf 字体太小的解决方法
- 李一男给电子工程师的十条忠告
- 敏捷项目管理体会-鸟瞰
- 一个反斜杠转化成两个反斜杠 将“/” 转化成“//”
- 安徽省绩溪县城区图
- C++各大有名库的介绍
- 做YH更新,引发众多思考.
- 关于C语言中的malloc和free函数的用法(转载
- IPV4地址
- 谈我们为什么学不好编程2——你是否已进入“等死模式”?
- EXT 做布局设置的一点经验
- vs2008 设置