我正在尝试从以下代码中提取(80.4):
<div id="row" style="width:80.4px">
提取该文本的表达式是什么样的?感谢。
答案 0 :(得分:1)
以下是两种可能性,但答案会因以下因素而异:
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捕获组中捕获。
答案 1 :(得分: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];