0

テキストビューで「@」文字の後に書かれた文字を検出したい

- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text {
if([txt_comment.text isEqualToString:@"@"]){

     }      
    return YES;

}

でも、「@」の文字を書けばイベントをキャッチできます。イベントと「@」の後に書かれた文字を検出するにはどうすればよいですか?

4

3 に答える 3

2
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text {
    NSLog(@"%@",text);
    if (isCharacterBefore) {
        NSLog(@"the Character after @ is %@",text);
        isCharacterBefore = NO;
    }
    if([text isEqualToString:@"@"]){
        isCharacterBefore = YES;
    } 

    return YES;

}

これが.hファイルで宣言されisCharacterBeforeBOOL変数です。お役に立てば幸いです。

于 2013-01-03T04:45:29.883 に答える
1
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text {
if ([txt_comment.text rangeOfString:@"@"].location == NSNotFound) 
{
   NSLog(@"string does not contain @");
}
else 
{
   NSLog(@"string contains @!");
   /* What ever you want to do Write here */
   NSArray *tempArray = [txt_comment.text componentsSeparatedByString:@"@"];
   if([tempArray count] >= 2 && [tempArray objectAtIndex:1]! = NULL)
   {
      NSLog(@"%@",[tempArray objectAtIndex:1]);
   }
}
}

これを試して :)

于 2013-01-03T04:35:51.900 に答える
0

componentsSeparatedByString:文字列で使用する

 - (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text {
   NSArray *arr = [text componentsSeparatedByString:@"@"];
   if([arr count] == 2)
      NSLog(@"Your String After @ %@",[arr objectAtIndex:1]);
   else
       NSLog(@"@ string not found");

   return YES;
 }
于 2013-01-03T04:37:10.060 に答える