from string import capwords
capwords('\"this is test\", please tell me.')
# output: '\"this Is Test\", Please Tell Me.'
^
なぜこれと等しくないのですか? ↓Pythonのパスワードについて
'\"This Is Test\", Please Tell Me.'
^
どうすればいいですか?
from string import capwords
capwords('\"this is test\", please tell me.')
# output: '\"this Is Test\", Please Tell Me.'
^
なぜこれと等しくないのですか? ↓Pythonのパスワードについて
'\"This Is Test\", Please Tell Me.'
^
どうすればいいですか?
documentationは言う:
スプリット
str.split()
を使用して単語に引数は、str.capitalize()
を使用して、各単語を大文字にし、str.join()
を使用して大文字の単語を結合します。オプションの第2引数sepが存在しないか、None
の場合、空白文字の実行は1つのスペースで置き換えられ、先頭と末尾の空白は削除されます。そうでない場合は、sepが分割されて結合されます。
我々はステップでこのステップを実行する場合は、次の
>>> s = '\"this is test\", please tell me.'
>>> split = s.split()
>>> split
['"this', 'is', 'test",', 'please', 'tell', 'me.']
>>> ' '.join(x.capitalize() for x in split)
'"this Is Test", Please Tell Me.'
ですから、二重引用符は単語の一部として扱われ、その次"t"
Sが大文字にされていない見ることができます。
文字列のstr.title()
方法は、あなたが使うべきものです。
>>> s.title()
'"This Is Test", Please Tell Me.'
私はちょうど同じものを投稿しようとしていた: - D –
先が"
で混乱しているので動作しません。"This
は手紙で始まらないと思います。
代わりに組み込みの文字列メソッド.title()
を使用してください。
>>> '\"this is test\", please tell me.'.title()
'"This Is Test", Please Tell Me.'
これはおそらくcapwords()
がstring
モジュール内に残っているが、文字列の方法を作ったことはなかった理由です。 string.capwords()
ため
[string.capwords](https://docs.python.org/release/2.1/lib/module-string.html)は2.x以降、永遠に組み込まれています。ほとんど使われません。 – smci
'STRING'モジュールは、Python 1から残っているとPython 2.0の文字列メソッドを導入したときに、ほぼ完全に廃止されました。あなたは ''文字列をインポートする必要はほとんどありません。 'maketrans()'(私が今使ってきたもの)とロケール依存の大文字/小文字のもの(これまで使ったことのないもの)の例外は2つしか考えられません。 – BoarGules
ありがとうございます。 '.title()'を使うことで問題は解決しました。 – tanby