JAVA字符串中,只要有连续的空格就去掉且但要保留一个空格;如果只是一个空格就不用处理;怎么实现? 30

举个例子:Stringstr="大家好啊";这里“大家”之间有3个空格,“家好”之间有2个空格,“好啊”之间有1个空格,现在要求是把“大家”和“家好”之间的空格都处理成1... 举个例子:
String str = "大 家 好 啊";
这里“大家”之间有3个空格,“家好”之间有2个空格,“好啊”之间有1个空格,现在要求是把“大家”和“家好”之间的空格都处理成1个空格,“好啊”之间本身就是一个空格,不用处理;
最终效果就是这样:
String str = "大 家 好 啊";
String keywords = request.getParameter("values").trim();
String result = "";

for(int i = 0; i <= keywords.length(); i++){
for(int j = i + 1; j< keywords.length(); j++){
if(keywords.charAt(i) == ' '){
if(keywords.charAt(j) == ' '){
result = keywords.replace(" ", "");
}
}
}
}
System.out.println(result);
}
-----------------------------
输出结果为:
大家好啊
-----------------------------
请问,你能不能给出代码,或帮我修改下我的代码?
展开
 我来答
粤西小二
推荐于2017-11-23 · 超过44用户采纳过TA的回答
知道小有建树答主
回答量:219
采纳率:0%
帮助的人:67万
展开全部
一个循环就可以了
用一个布尔值作为前一个字符是否为空格,
当前字符也是空格,就不用插入了

String keywords = "大 家 好 啊";
StringBuilder result = new StringBuilder();
boolean space = false;// 前一个是否为空格,默认第一个不是
for (int i = 0; i < keywords.length(); i++) {
if (keywords.charAt(i) != ' ') {
space = false;
result.append(keywords.charAt(i));
} //end 当前不是空格
else if (!space) {
space = true;
result.append(keywords.charAt(i));
}//end 当前是空格,但前一个不是空格

//没有else了,省略了当前是空格,前一个也是空格,当然不用理它了
}
System.out.println(keywords);
System.out.println(result.toString());
小山山001
2010-12-16 · TA获得超过1159个赞
知道小有建树答主
回答量:1246
采纳率:0%
帮助的人:1268万
展开全部
可以直接用正则表达式
public void lianxuStr()
{
String s="大 家 好 啊";
String xx=s.replaceAll("[\\s]{2,}", " ");
System.out.println(xx);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
johnnysangel
2010-12-16 · TA获得超过5623个赞
知道大有可为答主
回答量:3264
采纳率:0%
帮助的人:2428万
展开全部
写两个循环...第一个读到空格就判断下一格是不是空格...是的话把它去掉...
然后直到没有改变退出第二个循环...
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
nizhihe
2010-12-16 · TA获得超过1637个赞
知道小有建树答主
回答量:542
采纳率:73%
帮助的人:150万
展开全部
String s = "大 家 好 啊";
s = s.replaceAll(" +", " ");
System.out.println(s);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
niahj09
2010-12-16 · TA获得超过1677个赞
知道小有建树答主
回答量:1353
采纳率:0%
帮助的人:730万
展开全部
string.replaceAll("\\s+"," ");
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式