Kot*_*bab 3 java string blackberry
我有一个这样的URL:http:\/\/www.example.com\/example在一个字符串对象中.
有人能告诉我,如何去除反斜杠?
我正在为黑莓系统编程.
请参见String.replace(CharSequence,CharSequence)
String myUrl = "http:\\/\\/www.example.com\\/example";
myUrl = myUrl.replace("\\","");
Run Code Online (Sandbox Code Playgroud)
@Kevin的答案包含一个致命的问题.的String.replace(char, char)内容替换出现另一个字符一个字符.它不会删除字符.
还''没有有效的Java因为有一个空字符没有这样的事情.
以下是一些应该实际工作的解决方案(并编译!):
String myUrl = "http:\\/\\/www.example.com\\/example";
fixedUrl = myUrl.replace("\\", "");
Run Code Online (Sandbox Code Playgroud)
这只是删除每个反斜杠而不考虑上下文.
fixedUrl = myUrl.replace("\\/", "/");
Run Code Online (Sandbox Code Playgroud)
这将使用普通的正斜杠替换转义的正斜杠.
fixedUrl = myUrl.replaceAll("\\\\(.)", "\\1");
Run Code Online (Sandbox Code Playgroud)
这将" 解除"String中的任何转义序列,正确处理转义的反斜杠,而不是删除尾部反斜杠.此版本使用组在反斜杠后捕获字符,然后在替换字符串中引用它.
请注意,在最后一种情况下,我们使用的replaceAll是执行正则表达式匹配/替换的方法,而不是文字字符串匹配/替换.因此,我们需要在第一个参数中两次跳过反斜杠; 一次因为必须在字符串文字中转义反斜杠,并且因为必须在正则表达式中转义反斜杠,如果您希望它代表字面反斜杠字符.
我正在为黑莓系统编程,以防任何相关性.
它是.Blackberry是一个J2ME平台,而J2ME版本String(参见javadoc)仅支持String.replace(char, char),其中(如上所述)无法删除字符.在J2ME平台上,您需要加载String到a StringBuffer,并使用循环和StringBuffer.delete(...)或StringBuffer.replace(...).
(这样的东西让Android更容易使用......)