gpt4 book ai didi

javascript - for循环字符串每个单词

转载 作者:数据小太阳 更新时间:2023-10-29 04:12:46 25 4
gpt4 key购买 nike

如果这种类型的字符'这个' = NonEnglish 每个将占用2个单词空间,英文将占用1个单词空间,最大长度限制为10个单词空间;如何获取前10个空格。
对于下面的例子,如何得到结果 This is?
我正在尝试从第一个单词开始使用 for 循环,但我不知道如何获取字符串中的每个单词...

string = "This這 is是 English中文 …";

var NonEnglish = "[^\u0000-\u0080]+",
Pattern = new RegExp(NonEnglish),
MaxLength = 10,
Ratio = 2;

最佳答案

如果你的意思是你想获取字符串中长度达到 10 的那部分,答案如下:

var string = "This這 is是 English中文 …";

function check(string){
// Length of A-Za-z characters is 1, and other characters which OP wants is 2
var length = i = 0, len = string.length;

// you can iterate over strings just as like arrays
for(;i < len; i++){

// if the character is what the OP wants, add 2, else 1
length += /\u0000-\u0080/.test(string[i]) ? 2 : 1;

// if length is >= 10, come out of loop
if(length >= 10) break;
}

// return string from the first letter till the index where we aborted the for loop
return string.substr(0, i);
}

alert(check(string));

Live Demo

编辑 1:

  1. .match 替换为 .test。前者返回整个数组,而后者仅返回 true 或 false。
  2. 改进了正则表达式。由于我们只检查一个字符,因此不需要之前的 ^+
  3. len 替换为 string.lengthHere's why .

关于javascript - for循环字符串每个单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22059628/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com