您好,我有一个车牌号码BZ8345LK
,想要转换为BZ 8345 LK
(在char和number之间添加空格)。
我尝试过使用此Regex,但无法正常工作,只能将带数字的第一个字符空格。例如BZ 8345LK
,“ LK
”与数字之间不能有空格。
var str = 'BZ8345LK';
str.replace(/[^0-9](?=[0-9])/g, '$& ');
# return BZ 8345LK, I want BZ 8345 LK
答案 0 :(得分:6)
您可以使用此正则表达式
[a-z](?=\d)|\d(?=[a-z]
[a-z](?=\d)
-匹配任意字母,后跟数字|
-与逻辑OR相同的替代方式\d(?=[a-z])
-任何数字后跟字母
let str = 'BZ8345LK'
let op = str.replace(/[a-z](?=\d)|\d(?=[a-z])/gi, '$& ')
console.log(op)
答案 1 :(得分:2)
您应该使用另一种可能性,即数字后面跟着一个非数字:
For i = Application.CustomListCount To 1 Step -1
Application.DeleteCustomList (i)
Next i
答案 2 :(得分:0)
另一个选择是使用:
^[^\d]+|[\d]{4}
搜索任何非数字字符[^\d]
,后跟4个数字[\d]{4}
字符
const str = 'BZ8345LK'
let answer = str.replace(/^[^\d]+|[\d]{4}/gi, '$& ')
console.log(answer)
答案 3 :(得分:0)
尝试一下
var str = "BZ8345LK";
var result = str.replace(/([A-Z]+)(\d+)([A-Z]+)/, "$1 $2 $3");
console.log(result);