2017-07-07 47 views
1
之间

我有一个Google Spreadsheet填充了来自房地产网站的信息。
电话号码出现在单个单元中,如*Cell #* (602) 695-2036*Cell #* 602-575-1008。我有一个REGEXEXTRACT()功能使用\d-\d-\d其中数字格式化工作,但我需要的东西适用于所有单元格数字字符串,无论格式或字符之间。所以我想(602) 695-2036返回6026952036602-575-1008返回6025751008REGEX获取字符串中的所有数字,即使其他字符在

Spreadsheet。数字在第5行,一个在第6行。

回答

2

尝试更换所有非数字与没有。像

=regexreplace(A1, "\D+",) 

应该工作。你也可以通过一个数组遍历regexreplace ..

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

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

+0

这两个工作,虽然第一个更好地满足需求。谢谢! –

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++){ 
 
\t 
 
\t // APPEND TO RESULT 
 
\t result += matches[index]; 
 

 
} 
 

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

+0

对于我可以通过正则表达式结果循环的东西来说,这看起来不错,但我不知道在Google表格中使用= REGEXEXTRACT()来执行此操作的方式。我需要在单个单元中完成此操作,而不是使用JavaScript函数。 –

0

尝试这在样品片A5:

=REGEXreplace(A5,"\D+", "") 
相关问题