您好,匿名用户

单词之间只保留一个空格,用replace为什么会出错

0 投票

在python中,字符串是没有contains函数的,不过可以使用find来代替。现在有一串单词,有的相邻两个单词之间可能不止一个空格,现在我只想保留一个空格,使用下面的办法就是无效的,不知道为什么这样会出现死循环。我知道可以使用' '.join(a.split())来解决问题,但是下面的代码不知道为什么会出错,是我的思想错误,还是其他原因?在java等其他语言里面,使用这种思想可行么?
def StringUnderLine(str):

str.strip();
n=0;
while str.find('  '):
    str.replace('  ',' ')
    n=n+1
    print(n,end='')
print(str,end='')

a="1 2 3 4 5 "
b="1 "
c=" 2"
d="abc def"
StringUnderLine(a)
StringUnderLine(b)
StringUnderLine(c)
StringUnderLine(d)

用户头像 提问 2017年 6月1日 @ Ryze 中士 (1,028 威望)
分享到:

1个回答

0 投票

str没有被赋值改变。replace是返回新的字符串,而不是直接修改str

用户头像 回复 2017年 6月1日 @ Lucian 下士 (816 威望)
提一个问题:

相关问题

0 投票
1 回复 340 阅读
用户头像 提问 2013年 12月28日 @ 正能量 中士 (1,162 威望)
0 投票
1 回复 56 阅读
0 投票
1 回复 77 阅读

欢迎来到随意问技术百科, 这是一个面向专业开发者的IT问答网站,提供途径助开发者查找IT技术方案,解决程序bug和网站运维难题等。
温馨提示:本网站禁止用户发布与IT技术无关的、粗浅的、毫无意义的或者违法国家法规的等不合理内容,谢谢支持。

欢迎访问随意问技术百科,为了给您提供更好的服务,请及时反馈您的意见。
...