Rubyで文字列に対して文字列操作をしようとしています。目標は、文字列の残りの部分に影響を与えずに、最初の 100 文字のみを削除、反転、スクイーズ、大文字化することです。
これが私たちが扱う文字列です。行番号は文字列の一部です。割り当てでは、この文字列は「the_string」と呼ばれます。
1. this string has leading space and too "MANY tabs and sPaCes betweenX"
2. thE indiVidual Words in each Line.X
3. eacH Line ends with a accidentally aDDED X.X
4. in this lab you wilL WRITE code that "sAnITizES" this string by normalizingX
5. ("nOrMaLiZiNg" means capitalizing sentences and setting otherX
6. characterS to lower case) and removes the extra spaces between WOrds.X
これが私が取り組んでいるものです:
puts the_string[0,100].strip.squeeze.reverse.upcase
そして出力:
I EHT .2
"XNEWTEB SECAPS DNA SBAT YNAM" OT DNA ECAPS GNIDAEL SAH GNIRTS SIHT .1
これは、文字列から残りの文字 (100 以降) を削除するのではなく、そのままにして変更しないことを除いて、私が望むように機能しています。さらに、object_id を変更することは想定されていないため、この問題を解決するために新しい文字列を作成することはできません。私が求める出力は次のとおりです。
I EHT .2
"XNEEWTEB SECAPS DNA SBAT YNAM" OOT DNA ECAPS GNIDAEL SAH GNIRTS SIHT .1ndiVidual Words in each Line.X
3. eacH Line ends with a accidentally aDDED X.X
4. in this lab you wilL WRITE code that "sAnITizES" this string by normalizingX
5. ("nOrMaLiZiNg" means capitalizing sentences and setting otherX
6. characterS to lower case) and removes the extra spaces between WOrds.X
これを簡単にする方法があると確信していますが、エレガントなソリューションを発見していません。どんな助けでも大歓迎です!