【问题标题】:ios replace substring by new substringios 用新的子串替换子串
【发布时间】:2015-03-17 03:22:32
【问题描述】:

我有一个像下面这样的字符串 -

<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>

我可以通过所需的更改成功地提取从"&lt;iframe""&lt;/iframe&gt;" 的字符串。我遇到了用新字符串替换整个&lt;iframe ...&lt;/iframe&gt; 的问题。

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

<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 标记。

请帮帮我!

【问题讨论】:

标签: html ios iframe nsstring substring


【解决方案1】:

像这样试一试。假设 str 是您帖子中提到的抓取字符串。

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];

【讨论】:

  • 我可以抓取子字符串,并成功地进行我想要的更改,我遇到的问题是将抓取的子字符串替换为原始字符串!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-04-18
  • 1970-01-01
  • 2022-09-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-05
相关资源
最近更新 更多