REGEX以获取字符串中的所有数字,即使其他字符介于两者之间

时间:2017-07-07 16:50:58

标签: regex google-sheets

我有一个Google电子表格,其中包含来自房地产网站的信息。
电话号码出现在单个小区中,如response.selector.xpath("//tr[contains(@role,'row')]") Out[2]: [] response.selector.xpath("//tr[(@role='row')]") Out[3]: [] *Cell #* (602) 695-2036。我有一个使用*Cell #* 602-575-1008的{​​{1}}函数,它适用于格式化为第二个的数字,但我需要一些适用于所有单元格数字符串的内容,无论格式或字符如何。所以我希望REGEXEXTRACT()返回\d-\d-\d(602) 695-2036返回6026952036

Spreadsheet。数字在第5行,第1行在第6行。

3 个答案:

答案 0 :(得分:2)

尝试将所有非数字替换为空。像

这样的东西
=regexreplace(A1, "\D+", )

应该有效。您还可以在数组上迭代regexreplace ..

=arrayformula(if(len(A1:A), regexreplace(A1:A, "\D+",),))

更改范围以适应并查看是否有效?

答案 1 :(得分:0)

您可以将所有数字与正则表达式\d匹配。然后只需将您的匹配列表附加在一起。

以下是JavaScript中的一个示例:

// INIT
var text = '(602) 695-2036';
var result = '';

// PRINT START
console.log("START: "+text);

// GET MATCHES
var matches = text.match(/\d/g);

// LOOP MATCHES
for(var index = 0; index < matches.length; index++){
	
	// APPEND TO RESULT
	result += matches[index];

}

// PRINT RESULT
console.log("RESULT: "+result);

答案 2 :(得分:0)

在A5的样本表中尝试这个:

=REGEXreplace(A5,"\D+", "")