[解決済み] Swiftで "Index "を "Int "型に変換するには?
2022-08-31 21:47:42
質問
文字列に含まれる文字のインデックスを整数値に変換したい。ヘッダファイルを読んでみましたが、以下の型が見つかりません。
Index
の型が見つからず、プロトコルに準拠しているように見えますが
ForwardIndexType
というメソッドを持つ(例えば
distanceTo
).
var letters = "abcdefg"
let index = letters.characters.indexOf("c")!
// ERROR: Cannot invoke initializer for type 'Int' with an argument list of type '(String.CharacterView.Index)'
let intValue = Int(index) // I want the integer value of the index (e.g. 2)
どんな助けでも感謝します。
どのように解決するのですか?
を編集・更新してください。
Xcode 11 - Swift 5.1 またはそれ以降
extension StringProtocol {
func distance(of element: Element) -> Int? { firstIndex(of: element)?.distance(in: self) }
func distance<S: StringProtocol>(of string: S) -> Int? { range(of: string)?.lowerBound.distance(in: self) }
}
extension Collection {
func distance(to index: Index) -> Int { distance(from: startIndex, to: index) }
}
extension String.Index {
func distance<S: StringProtocol>(in string: S) -> Int { string.distance(to: self) }
}
プレイグランドテスト
let letters = "abcdefg"
let char: Character = "c"
if let distance = letters.distance(of: char) {
print("character \(char) was found at position #\(distance)") // "character c was found at position #2\n"
} else {
print("character \(char) was not found")
}
let string = "cde"
if let distance = letters.distance(of: string) {
print("string \(string) was found at position #\(distance)") // "string cde was found at position #2\n"
} else {
print("string \(string) was not found")
}
関連
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] JavaでStringをintに変換するにはどうしたらいいですか?
-
[解決済み] 文字列の単語を反復処理するにはどうすればよいですか?
-
[解決済み] バイトを文字列に変換する
-
[解決済み] JavaScriptで文字列を整数に変換する方法は?
-
[解決済み] C++でintをstringに変換する最も簡単な方法
-
[解決済み] SwiftでIntをStringに変換する
-
[解決済み】JavaScriptで文字列の出現箇所をすべて置換する方法
-
[解決済み】Goで空の文字列をテストする最良の方法は何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Luaで文字列がnilまたは空でないかをチェックする
-
[解決済み] OCaml - intをstringに変換する方法は?
-
[解決済み] OCAML - 文字列と部分文字列
-
[解決済み] UTF-32とUCS-4の違いは何ですか?
-
[解決済み] VBScriptにはsubstring()関数がありますか?
-
[解決済み] OCamlでcharから文字列に変換する
-
[解決済み] Luaで文字列の中にマッチするテキストがあるかどうかを確認するには?
-
[解決済み] PowerShell 4.0を使用して変数入力からスペースを削除する
-
[解決済み】Swift Stringで文字のインデックスを検索する
-
[解決済み】2つの部分文字列の間にある文字列を検索する【重複あり