文字列を返すAPIがあります。これらの文字列の形式を変更して、すべての単語が最初の文字に変換されるようにしたい "+"最後の言葉は同じである。たとえば、 "米国" -----> "米国アメリカ"または "レアルマドリード" - > "R.マドリード"など。誰でも助けてくれますか?ありがとうございました。文字列形式を省略形に変更するにはどうすればよいですか?
あなたはコンポーネント(separatedBy:String)を使用することができ答えて
- すべての最初の文字の切り捨てを実行にあなたの文字列を分離し、これらの言葉のために(
" "
で区切られた)言葉 - の配列、おそらく(米国のあなたの例に基づいて)前置詞や接続詞をフィルタリング
- 最後の単語
- 最後に、互いと最後の(切り捨てられていない)単語との単語の切り捨てリストを結合します。
例えば:
import Foundation
// help function used to fix cases where the places
// words are not correctly uppercased/lowercased
extension String {
func withOnlyFirstLetterUppercased() -> String {
guard case let chars = self.characters,
!chars.isEmpty else { return self }
return String(chars.first!).uppercased() +
String(chars.dropFirst()).lowercased()
}
}
func format(placeString: String) -> String {
let prepositionsAndConjunctions = ["and", "of"]
guard case let wordList = placeString.components(separatedBy: " ")
.filter({ !prepositionsAndConjunctions.contains($0.lowercased()) }),
wordList.count > 1 else { return placeString }
return wordList.dropLast()
.reduce("") { $0 + String($1.characters.first ?? Character("")).uppercased() + "." } +
" " + wordList.last!.withOnlyFirstLetterUppercased()
}
print(format(placeString: "United States of America")) // "U. S. America"
print(format(placeString: "uniTED states Of aMERIca")) // "U. S. America"
print(format(placeString: "Real Madrid")) // "R. Madrid"
print(format(placeString: "Trinidad and Tobago")) // "T. Tobago"
print(format(placeString: "Sweden")) // "Sweden"
あなたは、元の場所の文字列を知っている場合は、正しくw.r.t.をフォーマットします上の&小文字の場合は、上記のソリューションをより冗長なものに変更することができます。拡張子String
のヘルプメソッドを削除してください。
それらの間の空白をもとに、各文字列を分離し、文字列の配列:
var str = "United States of America"
print(str.components(separatedBy: " ")) // Outputs ["United", "States", "of", "America"]
次にあなたが望むと追加として、各単語を改正、この配列を繰り返し処理結果を変数resultStringに渡します。あなたのケースでは、あらかじめ定義されたグループ( "of"、 "and"など)に属さない単語の最初の文字だけを取り、大文字にします(大文字で呼び出す)それを "。"で連結します。それをあなたの文字列に追加します。配列の最後の要素に到達すると、そのままその単語を追加します。
あなたが開発者のリファレンスで詳細を見つけることができます役立ちますhttps://developer.apple.com/reference/swift/string
希望。すべてのベスト。
ありがとう..あなたもトップの "dfri"レスポンスを見ることができます:) –
@AymenBRomdhane - 問題なく、dfriは私の擬似コードを実際のコードに親切に翻訳しました! – Sparky
- 1. 文字列をHTML形式に変更するにはどうすればよいですか?
- 2. 文字列ベクトルのカスタム省略形R
- 3. C#でxml形式のキーペアをPEM形式に変更するにはどうすればよいですか?
- 4. 長い文字列をcsv形式に変換するにはどうすればよいですか?
- 5. JavaScriptで文字列をASCII形式に変換するにはどうすればよいですか?
- 6. jodatime Durationをhh:mm:ssの形式の文字列に変換するにはどうすればよいですか?
- 7. Rのデータフレームをcsv形式の文字列に変換するにはどうすればよいですか?
- 8. Cで文字列を整列した形式にフォーマットするにはどうすればよいですか?
- 9. 3行のコードの下でRubyで文字列形式のミリ秒をHH:MM:SS形式に変換するにはどうすればよいですか?
- 10. phpの日付形式をGMT形式に変換するにはどうすればよいですか?
- 11. ラスタ形式を別の形式に変換するにはどうすればよいですか?
- 12. GMT形式の日付を別の形式に変換するにはどうすればよいですか?
- 13. osgjs形式をobj形式に変換するにはどうすればよいですか?
- 14. ffmpegタイムスタンプ形式の文字列に秒を追加するにはどうすればよいですか?
- 15. WPFの文字列形式を100倍にするにはどうすればよいですか?
- 16. 日付形式を文字列にしないで別の形式に変換するにはどうすればいいですか?
- 17. bash出力のリダイレクトの省略形を作成するにはどうすればよいですか?
- 18. 文字列形式の日付を日付形式の日付に変換するにはどうすればよいですか?
- 19. この形式の文字列をキー、値辞書形式に変換するにはどうすればよいですか?
- 20. Pythonで日付文字列形式を検証するにはどうすればよいですか?
- 21. 文字列の日付を別の形式でフォーマットするにはどうすればよいですか?
- 22. 文字列を7ビット形式で保存するにはどうすればよいですか?
- 23. Pythonの変数名に使用する省略形はどれですか?
- 24. Javascript:console.logの結果を文字列形式に戻すにはどうすればよいですか?
- 25. Bash文字列内で省略形を使用してif/elseを実行するにはどうすればよいですか?
- 26. rdd形式の文字列を合計するにはどうすればよいですか?
- 27. fullcalendarで列の時刻形式を変更するにはどうすればよいですか?
- 28. NSStringから特定の部分文字列を省略するにはどうすればいいですか?
- 29. 変形スティックを変更するにはどうすればよいですか?
- 30. SQL日時形式をunix形式に変換するにはどうすればいいですか?
あなたは天才です!ありがとう –