私は非常に迅速な言語に新しいです。私は与えられたStringからNSRange
を取る必要があるビジネスロジックを実行しています。NSRangeを迅速に使用するには?
ここに私の要件は、 与えられた量= "144.44" NSRange
の部分が "
これを行うためのAPIはありますか?
私は非常に迅速な言語に新しいです。私は与えられたStringからNSRange
を取る必要があるビジネスロジックを実行しています。NSRangeを迅速に使用するには?
ここに私の要件は、 与えられた量= "144.44" NSRange
の部分が "
これを行うためのAPIはありますか?
あなたは範囲を見つけるために、正規表現ベースの検索を行うことができます。
let str : NSString = "123.45"
let rng : NSRange = str.range("(?<=[.])\\d*$", options: .RegularExpressionSearch)
正規表現"(?<=[.])\\d*$"
、「ルック背後経由ドット文字'.'
を以下のゼロ以上の数字を意味の最後にすべての方法文字列$
。 "
OPは 'String'型を使うので、型キャストが必要ですが、解決策は素晴らしいです。 –
あなたが与えられたstring
からsubstring
をしたい場合は、componentsSeparatedByString
例使用することができます、あなたのようにコンポーネントを取得することができます
var number: String = "144.44";
var numberresult= number.componentsSeparatedByString(".")
を:
var num1: String = numberresult [0]
var num2: String = numberresult [1]
それは助けを願って!
使用rangeOfString
とsubstringFromIndex
:
let string = "123.45"
if let index = string.rangeOfString(".") {
let cents = string.substringFromIndex(index.endIndex)
print("\(cents)")
}
スウィフト範囲を使用して別のバージョンではなく、NSRange
オプションの範囲を返す関数定義:あなたがテストすることができます
func centsRangeFromString(str: String) -> Range<String.Index>? {
let characters = str.characters
guard let dotIndex = characters.indexOf(".") else { return nil }
return Range(dotIndex.successor() ..< characters.endIndex)
}
をwith:
let r = centsRangeFromString(str)
// I don't recommend force unwrapping here, but this is just an example.
let cents = str.substringWithRange(r!)
http://nshipster.com/nsrange/ –
あなたが何を求めているかわからない。 2つの整数を入力として取り、範囲を返す 'NSMakeRange'関数があります。または、文字列を検索し、部分文字列を表す 'NSRange'を返す方法を尋ねていますか? –
または、部分文字列から' NSRange'または 'Range'が本当に必要ですか? ?それはあなたがそれをどうしようとしているかによって異なります。 –
Abizern