我正在制作一个程序,从 flickr 集中提取所有图片。我在代码中发现每个图片链接都有一个大字符串,问题是这样的:
链接具有以下格式:
https:\/\/c2.staticflickr.com\/4\/3925\/14562233192_3fe2b8fe1b_s.jpg
但我无法删除“\”字符,尽管使用了“\”转义序列。
我的替换代码如下,ret包含很多用'\n'分隔的链接:
ret =ret.replaceAll("\\", "");
我到底忘记了什么?
我的错误 stackTrace 是这样的:
Exception in thread "AWT-EventQueue-0" java.util.regex.PatternSyntaxException: Unexpected internal error near index 1
\
^
at java.util.regex.Pattern.error(Unknown Source)
at java.util.regex.Pattern.compile(Unknown Source)
at java.util.regex.Pattern.<init>(Unknown Source)
at java.util.regex.Pattern.compile(Unknown Source)
at java.lang.String.replaceAll(Unknown Source)
最佳答案
使用 4 个斜杠而不是 2 个。就像这样 - ret =ret.replaceAll("\\\\", "")
。您需要 1 个用于 java,一个用于正则表达式引擎,两个用于从字面上解析它(删除特殊含义)。
关于java - 替换从 javascript 获取的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25892323/