0

単語に基づいて文字列を分割する必要があります。その単語は任意のケースである可能性があり、サブ文字列の配列の大文字と小文字を保持する必要があります。例:

  1. 文字列は
    a) 「私の名前は XYZ で、ABC に住んでいます。」または
    b) 「私の名前は XYZ で、ABC に住んでいます。」または
    c) 「私の名前は XYZ です。ABC に住んでいます。」
  2. 現在、区切り文字列は「and」または「AND」または「And」です。
  3. 私のコードでは、a)、b)、c) の中でどの文字列が使用されているかわかりません。
  4. 問題は、「私の名前は XYZ」と「私は ABC に住んでいます」という文字列をどのように分離するかです。それぞれ。
4

3 に答える 3

6

使用できます

NSRange range = [string rangeOfString:@" and " options: NSCaseInsensitiveSearch];

大文字と小文字を区別しない方法で区切り文字列の場所を見つけ、最初と最後の部分を次のように抽出します

if (range.location != NSNotFound) {
    NSString *first = [string substringToIndex:range.location];
    NSString *last = [string substringFromIndex:(range.location + range.length)];
} else {
    // separator not found ...
}
于 2013-07-08T07:17:20.063 に答える
-1

分割するアンカーとしてどの単語を使用するか知っていますか???

あなたがそうすると仮定して、その「AND」と言います。

これを行う。

  1. メインストリングを取得します。
  2. 次のように一時文字列を作成します。tempString = [mainString lowercaseString];
  3. 次に、ウルアンカーの範囲を見つけます:range = [tempString rangeOfSubstring:anchor];
  4. 今、あなたはあなたのアンカーの範囲を持っています. この範囲を使用してメイン文字列から部分文字列を抽出します。これを行う方法。少し考えて楽しんでください:) :)
于 2013-07-08T07:18:09.077 に答える