[英]How to find words and full stop position from NSString in iOS?
我想从nsstring中找到任何单词或句号。
NSString *str = @"Hi, my name is Tina. I want to ask something. I am trying a lot. But I am not able. To find full stop. Position Everytime. It come in str.";
在此,我要跟踪停止位置,而不是“ Str”中每个停止位置的第一个停止位置。
我知道如何找到单词,但是每次出现在str上时都无法获得完全的止损位置。
这是我在做什么
NSString *str = @"Hi, my name is Tina. I want to ask something. I am trying a lot. But I am not able. To find full stop. Position Everytime. It come in str.";
NSInteger count = 0;
NSArray *arr = [str componentsSeparatedByString:@" "];
for(int i=0;i<[arr count];i++)
{
if([[arr objectAtIndex:i] isEqualToString:@"."])
count++;
}
我不希望这样,因为它会给我str字符的长度,而不是单词的长度。 我想检查句号即将到来之后。
if ([str3 rangeOfString:@"."].location == xOut) { // dont want
要么
if ([str3 rangeOfString:@"."].location != NSNotFound) { // dont want
任何想法或建议都将受到欢迎。
NSString *str = @"Hi, my name is Tina. I want to ask something. I am trying a lot. But I am not able. To find full stop. Position Everytime. It come in str.";
[str enumerateSubstringsInRange:NSMakeRange(0, str.length) options:NSStringEnumerationBySentences usingBlock:^(NSString *substring, NSRange substringRange, NSRange enclosingRange, BOOL *stop) {
[substring enumerateSubstringsInRange:NSMakeRange(0, substring.length) options:NSStringEnumerationByWords | NSStringEnumerationReverse usingBlock:^(NSString *substring, NSRange substringRange, NSRange enclosingRange, BOOL *stop) {
NSLog(@"%@", substring); // last word
*stop = YES;
}];
}];
这将为您提供每个句子的最后一个单词。
使用此代码-
NSString *str = @"Hi, my name is Tina. I want to ask something. I am trying a lot. But I am not able. To find full stop. Position Everytime. It come in str.";
NSInteger count = 0;
NSArray *arr = [str componentsSeparatedByString:@"."];
for(int i = 0; i< [arr count]; i++)
{
NSString *sentence = [arr objectAtIndex:i];
sentence = [sentence stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
NSArray *wordArray = [sentence componentsSeparatedByString:@" "];
count = [wordArray count];
NSLog(@"No of words after full stop is comming = %i", count);
}
尝试这个
NSString *str = @"Hi, my name is Tina. I want to ask something. I am trying a lot. But I am not able. To find full stop. Position Everytime. It come in str.";
NSInteger count = 0;
NSArray *arr = [str componentsSeparatedByString:@" "];
for(int i=0;i<[arr count];i++)
{
NSString *arrStr=[arr objectAtIndex:i];
for(int j=0;j<arrStr.length;j++){
NSString *Schar=[arrStr substringWithRange:NSMakeRange(j, 1)];
if([Schar isEqualToString:@"."])
count++;
}
}
在这里,计数将显示时间。 在字符串中。
看看@以下链接:
NSUInteger numberOfOccurrences = [[yourString componentsSeparatedByString:@"."] count] - 1;
希望这可以帮助 :)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.