Javascript匹配字符并在两者之间添加空格

Javascript match characters and add space between

本文关键字:两者之间 添加 空格 字符 Javascript      更新时间:2023-09-26

我有以下代码可以检测中文字符:

function test(){
    var str= '黑色大衣';
    var re1 = new RegExp("^['u4E00-'uFA29]*$"); //Chinese character range 
    alert(str + ' ' + re1.test(str));
}
test();

您可以在此处测试 http://jsfiddle.net/of79z9gg/

现在我有这样的字符串:

this is some English text中文字幕

我需要一种方法来检测上面的字符串何时包含中文字符,并在英文和中文字符之间插入一个空格。喜欢这个:

this is some English text 中文字幕

但我不知道如何实现这一目标。所以我的问题是,我如何检测然后坚持英文和汉字之间的空格?

谢谢

你可以用另一种方式解决这个问题。

  1. 检测 ASCII 字母和
  2. 在捕获的组后插入一个空格。

你可以做:

var s = 'this is some English text中文字幕';
s = s.replace(/(['x00-'xFF]+)/g, "$1 ");
//=> this is some English text 中文字幕

编辑:如果你想避免插入尾随空格,那么这个基于前瞻的正则表达式

var s = 'this is some English text中文字幕 abcd'
s = s.replace(/(['x00-'xFF]+)(?=[^'x00-'xff])/g, "$1 ");
//=> "this is some English text 中文字幕 abcd"