私は、文字列を取り込んでそれをフォーマットし、シンボルを取り除き、処理するために大文字小文字を低く設定するプログラムを持っています。単語の間に1つの空白を正確に置きますか?
例:
"Man, this is super trippy!" -> "man this is super trippy"
"YOU are entering a NEW dimension!" -> "you are entering a new dimenstion"
残念ながら、特定の文字列を処理する単語の間に余分な空白があるようになります。
例:
"Wait a minute -- this is too groovy!" -> "wait a minute this is too groovy"
"TONIGHT -- we DINE IN hell!" -> "tonight we dine in hell"
注意後者の二つの例で空白?文字の特定のインスタンスを削除し、小文字にセットに全体の事を変換する文字列を反復処理するときline.eraseが呼び出され
line.erase(remove(line.begin(), line.end(), toExclude[i]), line.end());
transform(line.begin(), line.end(), line.begin(), tolower);
:これを使用して文字列を処理した後、何らかの理由で。
単語の間にハイフンを含む文字列が表示されるまで、自分のプログラムがうまく動作するので、単語間の空白の最大値が1になるようにする方法はありますか?
あなたが提供したコードに基づいて、あなたは[使用するための悪い習慣](http://stackoverflow.com/a/1452738/1863564) –
@QPaysTaxes残念ながら、これは教授が私たちに課題の控除を受けないように依頼した方法です。 – yuritsuki
@QPaysTaxes、それは有効な点ですが、ディスカッションに他のものをほとんど追加していない場合は、それが答えにつながりません。そして、私の役割を果たすために、私はあなたが最後に印刷された文字(スペースかノー)を追跡し、場合によってはスペースを出力しないようにすることができると信じています。もう1つの質問は、「A B - !」が入力されたときにどうなるべきか? – druckermanly