关于python:删除字符串之间的空格

Removing spaces between strings

本问题已经有最佳答案,请猛点这里访问。
1
2
3
4
5
6
7
8
str_=raw_input('Enter:')
for i,k in enumerate(str_):
    if str_[i] != str_[i].upper():
        v=str(str_[i].upper())
        print v,  
    else:
        c= str(str_[i].lower())
        print c,

这段代码有助于交换我的输出是正确的情况,但我正在尝试各种可能的方法来删除空格,如re.sub、strip()、remove("",""),但我的输出是这样的

1
2
  >>>Enter:juNgLe
  J U n G l E

我想要我的输出:JUnGlE


对于这个解决方案,您需要使用来自Python 3的打印。这应该有效:

1
2
3
4
5
6
7
8
9
10
from __future__ import print_function

str_=raw_input('Enter:')
for i,k in enumerate(str_):
    if str_[i] != str_[i].upper():
        v=str(str_[i].upper())
        print(v, end="")
    else:
        c= str(str_[i].lower())
        print(c, end="")

1
2
3
4
5
6
7
8
9
10
11
12
str_=raw_input('Enter:')

response="";

for i,k in enumerate(str_):
    if str_[i] != str_[i].upper():
        v=str(str_[i].upper())
        response=response+v
    else:
        c= str(str_[i].lower())
        response=response+c
print response

尝试将所有字母添加到新的字符串变量中,然后打印该新变量。


您可以很容易地从python3导入print函数,这比python2X的print语句要好。

1
2
3
4
5
6
7
8
9
10
from __future__ import print_function

str_=raw_input('Enter:')
for i,k in enumerate(str_):
    if str_[i] != str_[i].upper():
        v=str(str_[i].upper())
        print(v, end='')
    else:
        c= str(str_[i].lower())
        print(c, end='')

不要在字符串上循环。

1
2
str_=raw_input('Enter:')
str_.replace("","").swapcase()

.swapcase()方法不是不推荐使用的,而是您所需要的。


您可以使用函数swapcase()来完成您想要的工作:

1
2
3
name ="ss A"
print name.swapcase().replace("","")
>>>"SSa"

sys.stdout.write(c)代替print。看到这个