[解決済み】String.substringWithRangeはどのように使うのですか?(または、SwiftでRangeはどのように動作しますか?)
2022-04-02 07:27:47
質問
の部分文字列を取得する方法がまだ分かっていません。
String
をSwiftで実行します。
var str = “Hello, playground”
func test(str: String) -> String {
return str.substringWithRange( /* What goes here? */ )
}
test (str)
SwiftでRangeが作れない。プレイグラウンドのオートコンプリートはあまり役に立ちません - これが示唆するものです。
return str.substringWithRange(aRange: Range<String.Index>)
Swift標準リファレンスライブラリには、役に立つものが見当たりません。ここにも野生の推測がありました。
return str.substringWithRange(Range(0, 1))
そして、これ。
let r:Range<String.Index> = Range<String.Index>(start: 0, end: 2)
return str.substringWithRange(r)
他の回答も見てきました(
Swift String の文字のインデックスを見つける
) を示唆しているようです。
String
のブリッジタイプです。
NSString
の場合、"old" のメソッドは動作するはずですが、どのように動作するかは明らかではありません - 例えば、これも動作しません(有効な構文ではないようです)。
let x = str.substringWithRange(NSMakeRange(0, 3))
感想は?
解決方法は?
SubstringWithRangeメソッドを使用することができます。これは、開始と終了のString.Indexを受け取ります。
var str = "Hello, playground"
str.substringWithRange(Range<String.Index>(start: str.startIndex, end: str.endIndex)) //"Hello, playground"
開始と終了のインデックスを変更するには、advancedBy(n)を使用します。
var str = "Hello, playground"
str.substringWithRange(Range<String.Index>(start: str.startIndex.advancedBy(2), end: str.endIndex.advancedBy(-1))) //"llo, playgroun"
また、NSRangeでもNSStringメソッドを使用することは可能ですが、このようにNSStringを使用することを確認する必要があります。
let myNSString = str as NSString
myNSString.substringWithRange(NSRange(location: 0, length: 3))
注意:JanX2が言及したように、この2番目の方法はユニコード文字列では安全ではありません。
関連
-
[解決済み] 型の不変値に変異型メンバを使用することはできません。
-
フォールスルーの使用方法概要
-
[解決済み] 使用しているSwiftのバージョンを確認するにはどうすればよいですか?
-
[解決済み] SwiftUIのFacebookログイン。FacebookのIDをビューに戻すには?
-
[解決済み] SwiftからObjective-Cのコードを呼び出すにはどうしたらいいですか?
-
[解決済み] Swift Betaのパフォーマンス:配列のソート
-
[解決済み] Swiftでindexとelementでループを反復させる方法
-
[解決済み] Swiftベースのアプリケーションは、OS X 10.9/iOS 7以下でも動作しますか?
-
[解決済み] Swift: print() vs println() vs NSLog()
-
[解決済み] SwiftでStringのサブストリングはどのように動作するか
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
スレッド1:シグナルSIGABRTの問題解決
-
[解決済み] swiftにStringのtrimメソッドはありますか?
-
[解決済み】Swiftで変数の型またはクラスを表示するにはどうすればよいですか?
-
[解決済み】Xcode 6 Beta 4でアプリを実行すると「表示権限がないため、ファイル "MyApp.app" を開くことができません。
-
[解決済み】SwiftのwillSetとdidSetの目的は何ですか?
-
[解決済み】weak referenceとunowned referenceの違いは何ですか?
-
[解決済み】Swift Stringで文字のインデックスを検索する
-
[解決済み】Swiftで弱参照の配列を宣言するには?
-
[解決済み】swift言語におけるstructureとclassの比較
-
[解決済み] 非同期ネットワークリクエストのswift forループの実行が終了するまで待つ