JavaScript:使用正则表达式在字符和数字之间添加空格

时间:2019-05-31 09:32:00

标签: javascript regex

您好,我有一个车牌号码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

4 个答案:

答案 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);