我需要修剪固定长度列的前导和尾随字符。
例如:我有列IdNumber
,其长度固定为11,其值低于
X3343438594
7743438534X
我想修剪前导和尾随X,结果应该是这样的。
3343438594
7743438534
答案 0 :(得分:2)
试试这个:
Search: ^X(?=\d{11}$)|(?<=^\d{11})X$
Replace: <blank>
正则表达式细分:
^X
表示“输入开始然后是X”(?=\d{11}$)
表示“后跟11位数字然后结束”|
表示“逻辑或”(?<=^\d{11})
表示“先于开头,然后是11位”X$
表示“X然后输入结束”您想要删除所有匹配项,因此请替换它们。
答案 1 :(得分:0)
var re = /(?=^X|X$)(([A-Z])(\d{10})(\s)(\d{10})([A-Z]))/;
var str = 'X3343438594 7743438534X';
var subst = '$3$4$5';
var result = str.replace(re, subst);
alert(result);
正则表达式首先声明字符串在开头或结尾应该有一个X,而不管数据的长度(不一定是11个字符)。如果是这种情况,它会测试一个以一个字母开头的模式,后跟10个数字(总共11个字符),然后是一个空格,然后十个数字后跟一个字母(另外11个字符)。