首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JQuery --如何在计数X空格后将字符添加到单词字符串中

JQuery --如何在计数X空格后将字符添加到单词字符串中
EN

Stack Overflow用户
提问于 2016-08-17 13:41:44
回答 3查看 1.1K关注 0票数 0

所以我基本上需要用split加上“.”在10个单词之后,所以我没有计算单词,而是计算空格,所以每10个空格字符之后我想添加“.”,那么如何使用正则表达式空间字符呢?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-08-17 18:59:24

使用更少的代码执行:

代码语言:javascript
复制
const text = 'this is some sample text that should be cut after the tenth space character'
let cut_text = text.split(' ').slice(0, 10).join(' ').concat('...')

将返回:这是一些样本文本,应该在.

票数 2
EN

Stack Overflow用户

发布于 2016-08-17 13:55:05

你可以做这样的事。

首先,在空间上拆分字符串,这样就会有一个字符串数组。

代码语言:javascript
复制
var arr = str.split(' ');

不需要计算空格,您可以在这样的循环中跳过10个索引。

代码语言:javascript
复制
for(var i = 0; i < arr.length; i = i + 10){
   arr.splice(i, 0, '...');
}

现在,为了恢复拆分之前的单词之间的间距,这里有一行额外的代码。

代码语言:javascript
复制
for(var i = 1; i < arr.length; i = i+=2){
   arr.splice(i, 0, ' ');
}

我们知道,在每个索引之后,在分割之前都有一个空格。

然后你可以通过循环再组合你的arr。

代码语言:javascript
复制
var newString = '';

for(var i = 0; i < arr.length; i++){
   newString = newString + arr[i];
}
票数 2
EN

Stack Overflow用户

发布于 2016-08-17 15:10:39

实际上你不需要RegEx来执行这样的任务.扩展@Umair答案以获得进一步的功能,您可以创建一个函数,您可以用它调用每个字符串,并分别指定单词数和分隔符。

函数

代码语言:javascript
复制
function insertStrEvery(target, string, count) {

    wordsArr = target.split(' ');

    wordsCount = wordsArr.length;

    for (var i = count; i < wordsCount; i = i+count) {
        wordsArr.splice(i, 0, string);
        console.log(i)
    }
    newString = wordsArr.join(' ');
    return newString;

};

,那么您可以在任何具有文本的DOM元素上调用它。

代码语言:javascript
复制
$(document).ready(function() {
    target = $('p').text();
    insertStrEvery(target, '...', 10)
    console.log(insertStrEvery(target, '...', 3));
});
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38998364

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档