• 締切済み

pythonの問題を解くのを助けていただきたいです

スペースが2つ以上ある場合スペースを一つだけにする、そして文の最初と最後にスペースがあった場合そのスペースを消すというコードをこのコードをベースに書き換えていただくことは可能でしょうか? def removeExtraSpaces(theString): outSt = "" foundExtraSpaces = False for ch in theString: if ch = " ": foundExtraSpaces = True elif foundExtraSpaces == True: outSt += ch return outSt print(removeExtraSpaces(" Hello Joe ")) #この場合”Hello Joe”と出力されるはずです。

みんなの回答

回答No.3

回答1,2のやり方ですと3個以上の連続したスペースに対応できないので、正規表現で置換すると良いかと思います。 import re def removeExtraSpaces(theString): return re.sub('[ ]+', ' ', theString).strip(' ')

回答No.2

スペースが2つ以上ある場合スペースを一つだけにする が抜けてたので、↓ですね。 def removeExtraSpaces(theString): outSt = theString.replace(' ', ' ') return outSt.strip(' ') https://note.nkmk.me/python-str-replace-translate-re-sub/ https://uxmilk.jp/12804 が参考になると思います。 これらを使えば自前でロジックを組む必要が無くなります。

回答No.1

で、どうですかね。 def removeExtraSpaces(theString): return theString.strip(" ")

関連するQ&A