2013-04-24 27 views
-1

在我的节目串我发现了一个HTML通知标记使用iOS的:从一个HTML标签响应

"<script>p(34,'1','hello world');</script>/r/n" 

我现在需要的是从上面的标签得到字符串“Hello World”,它应该是一个动态过程,因为每个响应标签的文本长度都不相同。

回答

1

请尝试使用这个....我希望这项工作将很好..

NSString *data = @"<script>p(34,'1','hello world');</script>/r/n"; 

    NSRange divRange = [data rangeOfString:@"','" options:NSCaseInsensitiveSearch]; 
    if (divRange.location != NSNotFound) 
    { 
     NSRange endDivRange; 

     endDivRange.location = divRange.length + divRange.location; 
     endDivRange.length = [data length] - endDivRange.location; 
     endDivRange = [data rangeOfString:@"'" options:NSCaseInsensitiveSearch range:endDivRange]; 

     if (endDivRange.location != NSNotFound) 
     { 
      divRange.location += divRange.length; 
      divRange.length = endDivRange.location - divRange.location; 

      NSLog(@"SubString %@",[data substringWithRange:divRange]); 
     } 
    } 
1
NSString * myString = @"<script>p(34,'1','hello world');</script>/r/n";//@" hello(1234)"; 
NSRange range1 = [myString rangeOfString:@"," options:NSBackwardsSearch]; 
NSRange range2 = [myString rangeOfString:@"'" options:NSBackwardsSearch]; 

if ((range1.length == 1) && (range2.length == 1) && (range2.location > range1.location)) 
{ 
    NSRange range3; 
    range3.location = range1.location+2; 
    range3.length = (range2.location - range1.location)-2; 
    NSString *subString = [myString substringWithRange:range3]; 
    NSLog(@"%@",subString) 
} 

输出---->的Hello World

+0

谢谢Hemang .......它的工作.... – 2013-04-24 05:47:05

2

像这样的事情会工作。如果消息的这些部分也是动态的,您可能必须调整fromString和toString,但这会让您开始。

NSString *someString = @"<script>p(34,'1','hello world');</script>/r/n"; 

NSString *fromString = @"<script>p(34,'1','"; 
NSRange fromRange = [someString rangeOfString:fromString]; 

NSString *toString = @"');</script>/r/n"; 
NSRange toRange = [someString rangeOfString:toString]; 

NSRange range = NSMakeRange(fromRange.location + fromRange.length, toRange.location - (fromRange.location + fromRange.length)); 
NSString *result = [someString substringWithRange:range];