【问题标题】:How to extract certain text with NSRegularExpression?如何使用 NSRegularExpression 提取某些文本?
【发布时间】:2011-03-12 01:53:50
【问题描述】:

我正在尝试从以下代码中提取 (80.4):

<div id="row" style="width:80.4px">

提取该文本的表达式是什么样的?谢谢。

【问题讨论】:

    标签: iphone objective-c regex ios4 nsstring


    【解决方案1】:

    对于这种特殊情况,正则表达式是相当重量级的。我会这样做:

    NSString *originalString; //which will contain "<div id="row" style="width:80.4px">", however you want to get it there
    NSString *afterColon = [[originalString componentsSeparatedByString:@":"] objectAtIndex:1];
    float theValue = [afterColon floatValue];
    

    【讨论】:

      【解决方案2】:

      这里有两种可能性,但答案会因以下因素而异:

      1) 文本中还有哪些您不想匹配的其他内容,

      2) 以及您允许匹配哪些变体(例如,在要匹配的测试中添加空格或换行,或交换要匹配的文本部分的顺序)

      这仅匹配给定字符串的“width:80.4px”部分(允许额外的空白):

      width\s*:\s*(\d+.\d+)\s*px
      

      这与您提供的整个字符串匹配(也允许额外的空格):

      <div\s+id\s*=\s*"row"\s+style\s*=\s*"width:\s*(\d+.\d+)\s*px">
      

      所以在这些正则表达式中,80.4 将被捕获到 $1 捕获组中。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-01-16
        相关资源
        最近更新 更多