在文本字段中的特定字符串之前获取文本字段中的字符串

Posted

技术标签:

【中文标题】在文本字段中的特定字符串之前获取文本字段中的字符串【英文标题】:Getting a string in textfield before a specific string in the textfield 【发布时间】:2015-07-14 11:56:39 【问题描述】:

所以我的文本字段有以下文本。 @"A big Tomato is red."

我想得到 "is" 之前的单词。

当我输入时

  NSString *someString = [[textfield componentsSeparatedByString:@"is"]objectAtIndex:0];

我总是得到"A big Tomato" 而不仅仅是"Tomato"。在应用程序中,人们会在"is" 之前输入内容,所以我需要始终在"is" 之前获取字符串。我会很感激我能得到的任何帮助。 *警告,

这是一个非常困难的问题。

【问题讨论】:

你为什么不把结果“A big Tomato”按空格分开,最后一个条目是“Tomato”? 【参考方案1】:

试试这个,

NSString *value = @"A big Tomato is red.";
NSArray *array = [value componentsSeparatedByString:@" "];
if ([array containsObject:@"is"]) 
    NSInteger index = [array indexOfObject:@"is"];
    if (index != 0) 
        NSString *word = [array objectAtIndex:index - 1];
        NSLog(@"%@", word);
    

【讨论】:

【参考方案2】:

试试这个

 NSString *string = @"A big Tomato is red.";
    if ([string rangeOfString:@"is"].location == NSNotFound) 
      NSLog(@"string does not contain is");
     else 
      NSLog(@"string contains is!");
    

【讨论】:

【参考方案3】:

试试这个

NSString *str = @"A big tomato is red";
NSArray *arr = [str componentsSeparatedByString:@" "];
int index = [arr indexOfObject:@"is"];
if(index > 1)
    NSString *str_tomato = arr[index-1];
else
    //"is" is the first word of sentence

根据yvesleborg的评论

【讨论】:

用“是一个大番茄”来测试这个

以上是关于在文本字段中的特定字符串之前获取文本字段中的字符串的主要内容,如果未能解决你的问题,请参考以下文章

限制两个特定文本字段中的字符数

如何将光标设置到 Internet Explorer 中文本 INPUT 字段的字符串值中的特定位置?

以编程方式选择输入字段中的部分文本

在表格视图的特定单元格中创建文本字段

文本字段中的重叠字符 iText PDF

获取文本输入字段中的光标位置(以字符为单位)