Javascript:如何从字符串中提取英文单词或中文字符?

Javascript:如何从字符串中提取英文单词或中文字符?,javascript,arrays,Javascript,Arrays,我想从这个字符串中提取每个字符 并输出一个数组 字符串=”你是我" 到 数组=[”你“,”是“,”我“] 如何在javascript中执行此操作?您可以使用正则表达式解决问题。如果您还想查找其他字符,可以将它们添加到括号中: const regex=/[a-zA-Z0-9]{1,}/gm; 常量str=`你是我你是我你是我你是我你是我`; 让m; while((m=regex.exec(str))!==null){ //这是避免具有零宽度匹配的无限循环所必需的 if(m.index==rege

我想从这个字符串中提取每个字符 并输出一个数组

字符串=”你是我"

数组=[”你“,”是“,”我“]


如何在javascript中执行此操作?

您可以使用正则表达式解决问题。如果您还想查找其他字符,可以将它们添加到括号中:

const regex=/[a-zA-Z0-9]{1,}/gm;
常量str=`你是我你是我你是我你是我你是我`;
让m;
while((m=regex.exec(str))!==null){
//这是避免具有零宽度匹配的无限循环所必需的
if(m.index==regex.lastIndex){
regex.lastIndex++;
}
//可以通过'm`-变量访问结果。
m、 forEach((匹配,组索引)=>{
log(`Found match,group${groupIndex}:${match}`);
});

}
好吧,这需要一些努力,但就是这样。我们的想法是检查每个字符的unicode。这里我检查了基本拉丁英语字母范围。您也可以检查中文unicode范围

var s=”你是我";
符号容器的功能实体{
var代码=s.charCodeAt(0);
var codeHex=code.toString(16.toUpperCase();
而(codeHex.length<4){
codeHex=“0”+codeHex;
}
返回代码hex;
}
函数为拉丁英语{

如果(entityForSymbolInContainer>='0020'&&entityForSymbolInContainer,您可以借助(扩展语法)[和简单for循环]来完成此操作。
const str=”你是我";
//常量str=”你是我测试“你好”;
var splittedStr=[…str];
var arrayLength=拆分的STR.length;
var-words=[];
var englishWord=“”;
var i;
对于(i=0;i
String.match(/\p{Script=Han}+\p{Script=Latin}+/gu)
in