Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 要插入“的正则表达式”\r";一行中每n个字符,在一个完整单词之前(基本上是换行功能)_Javascript_Regex_Data Processing - Fatal编程技术网

Javascript 要插入“的正则表达式”\r";一行中每n个字符,在一个完整单词之前(基本上是换行功能)

Javascript 要插入“的正则表达式”\r";一行中每n个字符,在一个完整单词之前(基本上是换行功能),javascript,regex,data-processing,Javascript,Regex,Data Processing,我不熟悉JavaScript和正则表达式。我正在尝试将文本文档自动格式化为每行特定的字符数,或在单词前加“\r” 这在功能上类似于许多文本编辑器中的Wordwrap 我希望每行10个字符 原文:我的名字叫戴维·布鲁 修改:我的名字\ris Davey\r蓝色 看,如果第10个字符是一个单词,它会把整个单词放到一行 我认为下面的代码在某种程度上应该有用/{1,10}/(这应该可以找到任何10个字符,对吗?) 不知道剩下的怎么办 请帮忙。我不认为正则表达式能帮你做到这一点。我会在谷歌上搜索javas

我不熟悉JavaScript和正则表达式。我正在尝试将文本文档自动格式化为每行特定的字符数,或在单词前加“\r”

这在功能上类似于许多文本编辑器中的Wordwrap

我希望每行10个字符

原文:我的名字叫戴维·布鲁

修改:我的名字\ris Davey\r蓝色

看,如果第10个字符是一个单词,它会把整个单词放到一行

我认为下面的代码在某种程度上应该有用/{1,10}/(这应该可以找到任何10个字符,对吗?)

不知道剩下的怎么办


请帮忙。

我不认为正则表达式能帮你做到这一点。我会在谷歌上搜索javascript wordwrap,我肯定有人编写了一个库来为您实现这一点

它需要是正则表达式吗?我会这样做:

var str = "My name is Davey Blue.",
    words = str.split(/(\s+)/);
for (var i=0,n=0; i<words.length; ++i) {
    n += words[i].length;
    if (n >= 10) {
        words[i] = "\n" + words[i];
        n = 0;
    }
}
str = words.join("");
var str=“我的名字是戴维·布鲁。”,
words=str.split(/(\s+/);
对于(变量i=0,n=0;i=10){
字[i]=“\n”+字[i];
n=0;
}
}
str=单词。连接(“”);
基本上

 text = text.replace(/.{1,10} /g, "$&\n")

我确信您的意思是“\n”不是“\r”

这将通过正则表达式实现

myString.replace(/((\w|\s){0,9}\s|\w+\s|$)/g, "$1\r")
(如果N是所需的线路长度,则将“9”替换为N-1)

在字符串中的每个位置,都会尝试按此顺序执行以下操作:
1.尝试匹配最多9个字符(=尽可能多),后跟一个空格(因此在一个空格中最多有10个字符结尾),然后在后面插入\r(通过字符串替换)
2.如果此操作失败(因为找不到少于10个字符的单词),它将匹配一个单词(无论它有多长)加上一个空格,然后在此之后插入\r

3.它匹配字符串的结尾并插入\r

是否有任何特定的原因不只是使用浏览器内置的换行符?它不是关于正则表达式匹配,而是关于用正则表达式替换字符串的一部分