您的位置:首页 > 编程语言 > Java开发

【Java面试题】替换空格

2020-02-16 18:10 239 查看

【题目】:

请实现一个函数,将一个字符串中的每个空格替换成“%20”。

【示例】:

例如,当字符串为

We Are Happy.

则经过替换之后的字符串为

We%20Are%20Happy。

【关键点】: 字符串处理,正则表达式

【Java】:

public class Solution {
public String replaceSpace(StringBuffer str) {
//方法一:正则表达式(48ms)
//return str.toString().replaceAll("\\s", "%20");

//方法二:字符串替换(17ms)
String result = str.toString();//创建一个新字符串result保存替换后的结果
if(result.contains(" ")){
while(str.indexOf(" ") != str.lastIndexOf(" ")){//最后一个空格不替换
int index = str.indexOf(" ");//indexof()索引
str.replace(index,index+1,"%20");//中间的空格替换,避免第一个至最后一个空格内容被全部替换:"hello%20 world"
}
int index = str.indexOf(" ");//indexof()索引
str.replace(index,index+1,"%20");//替换第一个空格
result = str.toString();
return result;
}else{
return result;
}
}
}
  • 点赞
  • 收藏
  • 分享
  • 文章举报
cungudafa 发布了207 篇原创文章 · 获赞 359 · 访问量 13万+ 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: