在javascript中,如何在6个单词后的一大块文本中添加换行符?
我有下面的正则表达式,它在80个字符后添加换行符 但我想在7个单词后加上换行符在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
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个空格后添加换行符使用单词字符Trylong_string=“一二三四五六警报('pwnd');bla bla”
。如果有标点符号或其他特殊字符,这将不起作用。