字符串中的空格转义

iceblue22 2011-09-15 11:21:17
String a = "hello world baby";
请问如何将空格转义成转义字符,结果是a = "hello\u0000world\u0000baby"
...全文
699 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
niuniu20008 2011-09-15
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 iceblue22 的回复:]
String a = "aaaaa aa";
char[] b = a.toCharArray();
for(int i = 0; i < b.length; i ++){
if("".equals(b[i])){
b[i]='\u0000';
}
System.out.println(b[i]);
}
System.out.println(b.toString());
这样写有……
[/Quote]
没有错误
b.toString()打印的[C@a90653,这不是错误
不考虑内存情况下面这种写法就可以

public class Test {

public static void main(String[] args) {
String a = "aaaaa aa";
char[] b = a.toCharArray();
String str = "";
for (int i = 0; i < b.length; i++) {
String s = ""+b[i];
if (" ".equals(s)) {
str = str + "\\u0000";
continue;
}
str = str+b[i];
}
System.out.println(str);
}
}

比较好的写法是这样

public class Test {

public static void main(String[] args) {
String a = "aaaaa aa";
char[] b = a.toCharArray();
StringBuilder sb = new StringBuilder("");
for (int i = 0; i < b.length; i++) {
String s = ""+b[i];
if (" ".equals(s)) {
sb.append("\\u0000");
continue;
}
sb.append(b[i]);
}
System.out.println(sb.toString());
}
}

iCielo 2011-09-15
  • 打赏
  • 举报
回复
其实就是HTML的编码和解码咯

javascript HTMLencode实现:
function HTMLEncode(strHTML)
{
var div = document.createElement('div');
div.innerText = strHTML;
return div.innerHTML;
}
javascript HTMLdecode实现:
function HTMLDecode(strEncodeHTML)
{
var div = document.createElement('div');
div.innerHTML = strEncodeHTML;
return div.innerText;
}
剑神一笑 2011-09-15
  • 打赏
  • 举报
回复
a = a.replaceAll("\\s","\u0000")
iceblue22 2011-09-15
  • 打赏
  • 举报
回复
String a = "aaaaa aa";
char[] b = a.toCharArray();
for(int i = 0; i < b.length; i ++){
if("".equals(b[i])){
b[i]='\u0000';
}
System.out.println(b[i]);
}
System.out.println(b.toString());
这样写有错吗?怎么打印输出错误
shixitong 2011-09-15
  • 打赏
  • 举报
回复
截取字符串判断,如果是空格则替换成空格的转义字符,最后拼接字符串

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧