【问题标题】:Python add spaces between letters but not between other characters?Python在字母之间添加空格但不在其他字符之间添加空格?
【发布时间】:2019-12-25 14:11:53
【问题描述】:

我希望有一个函数可以在字母之间添加空格,但不会在其他字符之间添加任何空格(例如,不在“2”和字母之间,或者在字母和撇号之间)。输入字符串在任何非字母字符后已经有空格。

例如,给定字符串“RU2 FLB' L2 r2 fB'”,输出将是“R U2 F L B' L2 r2 f B'”。

感谢您的帮助:)

【问题讨论】:

  • 你写了哪些代码来解决这个问题,这段代码有什么问题?

标签: python-3.x string for-loop replace character


【解决方案1】:

你可以使用这段代码,非常简单易懂,你可以把它改成函数或者被lambda使用等等...

my_string = "RU2 FLB' L2 r2 fB" #or any input
output = '' #your output
num = ['1','2','3','4','5','6','7','8','9','0','\''] #you can add any other symbols may use in your string
for i in range(len(my_string)):
  if my_string[i] == ' ':
    continue
  elif i < (len(my_string) -1) and num.count(my_string[i+1]) > 0:
    output = output + my_string[i]
    continue
  elif my_string[i]:
    output = output + my_string[i] + ' '


print(output)

【讨论】:

  • 非常感谢,我会试试这个 :) 如果你庆祝圣诞节快乐!