ios 用新子串替换子串

ios replace substring by new substring

我有如下字符串 -

<html> 
<head> 
</head> 
<body>

<p>***Some Text***.</p>

<p><iframe allowfullscreen="" frameborder="0" height="360" src="//www.some-domain.com/embed/mwOFWJUOpv8" width="600"></iframe></p></body>

我想将字符串底部 iframe 标记中的一些参数替换为 -

<iframe allowfullscreen="" frameborder="0" height="new vlaue" src="//www.some-domain.com/embed/mwOFWJUOpv8" width="new value"></iframe>

我可以通过所需的更改成功地抓取从 "<iframe""</iframe>" 的字符串。我在用新字符串替换整个 <iframe ...</iframe> 时遇到问题。

所以我的结果应该是这样的 -

<html> 
    <head> 
    </head> 
    <body>

    <p>***Some Text***.</p>

    <p><iframe allowfullscreen="" frameborder="0" height="new vlaue" src="//www.some-domain.com/embed/mwOFWJUOpv8" width="new value"></iframe></p></body>

编辑:-我遵循了this方法,但无法替换字符串中的整个iframe标签。

请帮帮我!

像这样试一试。假设str是你post中提到的抓取的字符串。

str = [str stringByReplacingOccurrencesOfString:@"width=\"600\"" withString:@"width=\"new value\""];

编辑

NSString *theStr= @"<iframe allowfullscreen=\"\" frameborder=\"0\" height=\"360\" src=\"//www.some-domain.com/embed/mwOFWJUOpv8\" width=\"600\"></iframe>";
NSString *replacedStr = [theStr stringByReplacingOccurrencesOfString:@"width=\"600\"" withString:@"width=\"new value\""];

NSRange range1 = [sourceStr rangeOfString:@"<iframe"];
NSRange range2 = [sourceStr rangeOfString:@"iframe>"];

NSRange range3 = NSMakeRange(range1.location, range2.location + range2.length - range1.location);

NSString *finalStr = [sourceStr stringByReplacingCharactersInRange:range3 withString:replacedStr];