怎么将连续的空格用一个空格代替?

dream_ll 2009-11-25 11:07:39
比如说:
A B C
A前面的2个空格用一个空格代替或者没有空格
A和B之间的5个空格用一个空格代替
B和C之间的3个空格用一个空格代替
...全文
160 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
影帆 2009-11-25
  • 打赏
  • 举报
回复
学习了
tommir3 2009-11-25
  • 打赏
  • 举报
回复
。。。。。。。。还是正则牛啊
tommir3 2009-11-25
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 gxingmin 的回复:]
stirng str="  A    B    C";
while(str.IndexOf("  ")>=0) //引号里是两个空格
{
  str=str.Replace("  "," "); //第一个引号里是两个空格,第二个引号里是一个空格

}
[/Quote]

类似于这种方法不太可取,如果不知道是几个空格的呢?
我不知道怎么方便些,我的方法也是笨方法,
就是从头开始遍历字符串,如果字符为‘ ’记录为X,开始记录,直到不再是' '记录为Y,然后把X-Y之间用一个' '代替,然后再从Y开始向后找,直到找到'\0'也就是结束。
颤菊大师 2009-11-25
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 wuyi8808 的回复:]
C# codestring s=" A B C";
s= System.Text.RegularExpressions.Regex.Replace(s," +","").Trim();// 如果不需要去掉前后的空格,就不要写 .Trim()
[/Quote]

当然用正则。
s= System.Text.RegularExpressions.Regex.Replace(s," {2,}","").Trim();

减少替换的次数。
wuyi8808 2009-11-25
  • 打赏
  • 举报
回复
string s = "  A    B  C ";
s = System.Text.RegularExpressions.Regex.Replace(s, " +", " ").Trim();
// 如果不需要去掉前后的空格,就不要写 .Trim()
dream_ll 2009-11-25
  • 打赏
  • 举报
回复
解决了,谢谢大家帮忙丫
liherun 2009-11-25
  • 打赏
  • 举报
回复
up
gxingmin 2009-11-25
  • 打赏
  • 举报
回复
stirng str=" A B C";
while(str.IndexOf(" ")>=0) //引号里是两个空格
{
str=str.Replace(" "," "); //第一个引号里是两个空格,第二个引号里是一个空格

}
Ann99 2009-11-25
  • 打赏
  • 举报
回复
while(两个空格是否存在)
{
str.replace(" "," ")
}
mohugomohu 2009-11-25
  • 打赏
  • 举报
回复
看看
dream_ll 2009-11-25
  • 打赏
  • 举报
回复
恩啊
bojiansky 2009-11-25
  • 打赏
  • 举报
回复
stirng str=" A B C";

这个字符串里面有N个空格,但是你想实现.
如果A前面有2个空格,就显示一个空格。
如果A和B之间的5个空格用一个空格代替,
如果B和C之间的3个空格用一个空格代替,
是不是这么个需求?
小楫轻舟 2009-11-25
  • 打赏
  • 举报
回复
每次总用一个空格替换两个空格就行了。
hhc123 2009-11-25
  • 打赏
  • 举报
回复
我的是笨方法,就是先Trim();
再分给他们一个空格

111,120

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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