Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/461.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中,如何在6个单词后的一大块文本中添加换行符?_Javascript_Regex - Fatal编程技术网

在javascript中,如何在6个单词后的一大块文本中添加换行符?

在javascript中,如何在6个单词后的一大块文本中添加换行符?,javascript,regex,Javascript,Regex,我有下面的正则表达式,它在80个字符后添加换行符 但我想在7个单词后加上换行符 long_string.replace(/(.{80})/g, "$1<br>") 长字符串。替换(/(.{80})/g,“$1”) 这将起作用 const long_string=“一二三四五六警报('pwnd');等等等等等等等等等等”; //首先替换html标记,然后添加换行符 const output=long_string.replace(/]+)>/g,“<$1>”).replac

我有下面的正则表达式,它在80个字符后添加换行符 但我想在7个单词后加上换行符

long_string.replace(/(.{80})/g, "$1<br>")
长字符串。替换(/(.{80})/g,“$1
”)
这将起作用

const long_string=“一二三四五六警报('pwnd');等等等等等等等等等等”;
//首先替换html标记,然后添加换行符
const output=long_string.replace(/]+)>/g,“<$1>”).replace(/((\S+\S){7})/g,“$1
”; document.getElementById(“输出”).innerHTML=output
替代方案是使用减速器

const long\u string=“我有下面的正则表达式,它在80个字符后添加换行符,但我想在7个单词后添加换行符。”;
log(addBreak(长字符串,7));
函数addBreak(longstr,breakAt){
设n=0;
返回longstr
.拆分(“”)
.reduce((str,c)=>{
n+=n`):`str}${c}`;
}, "" );
}
您可以在a中匹配
\w
,并添加允许匹配的字符,例如
[\w,!?]

然后在一个组中捕获匹配一次或多次的
[\w,!?]+
,然后是一个重复模式
(?:[\w,!?]+){6}
,该模式匹配一个空格和一个或多个charecter类6次。替换为
$1

([\w,!?]+(?:[\w,!?]+){6})

let long_string=`这是一个测试一二三。这是一个测试一二三!这这是一个测试一、二……`;

log(长字符串.replace(/([\w,!?]+(?:[\w,!?]+){6})/g,“$1
”)如何定义“单词”?一组字母。以空格OK分隔,您希望如何处理非单词,例如
OK、
非单词
案例?
,以及其他案例?单个单词。只想在7-8个空格后添加换行符使用单词字符Try
long_string=“一二三四五六警报('pwnd');bla bla”
。如果有标点符号或其他特殊字符,这将不起作用。