我会尝试替换此字符串中的所有内容:
[JGMORGAN - BANK2] n°10 NEWYORK,n°222 CAEN,MONTELLIER,VANNES / TARARTA TIs 1303222074,1403281851& 1307239335 et Cloture TIs 1403277567, 1410315029
以下数字除外: 1303222074 1403281851 1307239335 1403277567 1410315029
我已经构建了一个REGEX来匹配它们:
1[0-9]{9}
但是我没有想到要做的就是除了所有比赛之外的所有事情......
答案 0 :(得分:1)
首先匹配您想要保留的内容并将其捕获:
模式:[0-9]*(?:[0-9]{0,9}[^0-9]+)*(?:([0-9]{9,})|[0-9]*\z)
替换:$1
(后面有空格)
所以可能是这样的:
=TRIM(REGEXREPLACE("[JGMORGAN - BANK2] n° 10 NEWYORK, n° 222 CAEN, MONTELLIER, VANNES / TARARTA TIs 1303222074, 1403281851 & 1307239335 et Cloture TIs 1403277567, 1410315029"; "[0-9]*(?:[0-9]{0,9}[^0-9]+)*(?:([0-9]{9,})|[0-9]*\z)"; "$1 "))
答案 1 :(得分:0)
好的,首先感谢Casimir的帮助。它给了我一个想法:用谷歌的内置功能和强大的正则表达式来实现它是不可能的。 因此,我发现我可以为自己的目的制作自制功能(是的,我不是#34;最新的" ......)。 所以这就是它(它没有很好的编码,它的返回加倍。但是我没有正确地修复它,而是使用内置的UNIQUE()函数来删除它们,所以是的它是丑陋的而且我很快乐,但是它完成了这项工作,也就是说,特定正则表达式的所有匹配列表(即:1 [0-9] {9}):
function ti_extract(input) {
var tab_tis = new Array();
var tab_strings = new Array();
tab_tis.push(input.match(/1[0-9]{9}/));
var string_modif = input.replace(tab_tis[0], " ");
tab_strings.push(string_modif);
var v = 0;
var patt = new RegExp(/1[0-9]{9}/);
var fin = patt.test(tab_strings[v]);
var first_string = tab_strings[v];
do {
first_string = tab_strings[v]; // string 0
tab_tis.push(first_string.match(/1[0-9]{9}/));
var string_modif2 = first_string.replace(tab_tis[v], " ");
tab_strings.push(string_modif2);
v += 1;
}
while(v < 15)
return tab_tis;
}
答案 2 :(得分:0)