Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/427.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 为每x个字符创建一个换行符_Javascript_Node.js - Fatal编程技术网

Javascript 为每x个字符创建一个换行符

Javascript 为每x个字符创建一个换行符,javascript,node.js,Javascript,Node.js,假设我有一个任意的字符串,它有x个字符。如何在字符串中为每个y字符插入换行符?我只想包装字符串,这样: xageaojigeaogjieaogjieaogjoajgoeajgoeagjaegaogjeaovc 变成 xageaoj igeaogj ieaogji eaogjoa jgoeajg oeagjae gaogjea ovc 如果换行计数为7。一种方法是在字符串上循环,然后推送到数组,如下所示: const wrap = (count, str) => { const le

假设我有一个任意的字符串,它有x个字符。如何在字符串中为每个y字符插入换行符?我只想包装字符串,这样:

xageaojigeaogjieaogjieaogjoajgoeajgoeagjaegaogjeaovc
变成

xageaoj
igeaogj
ieaogji
eaogjoa
jgoeajg
oeagjae
gaogjea
ovc
如果换行计数为7。一种方法是在字符串上循环,然后推送到数组,如下所示:

const wrap = (count, str) => {
  const letters = [], ln = str.length;

  for(let i = 0; i < ln; i++){
    letters.push(str[i]);
    if(i%count === 0)
    letters.push('\n');
  }

  return letters.join('');
};
const wrap=(计数,str)=>{
常量字母=[],ln=str.length;
for(设i=0;i

但是有更好/更简单的方法吗?

您可以使用正则表达式
。替换

const input='xageaojigeaogjiegaogjoajgoeaggeagegaogjeaovc';

log(input.replace(/.{8}/g,$&\n')另一种方法可能是与下一个用于切片的索引的指示器一起使用

const wrap=(str,count)=>{
var字母=[],
i=0;
而(i日志(wrap('xageaojigeaogjiegaogjoajgoeaggeagegaogjeaovc',7))您可以使用正则表达式匹配7个字符,并将其替换为后跟新行的匹配项

str.replace(/(.{7})/g, "$1\n")
或者在你的代码中

const wrap = (str, count) =>
    str.replace(new RegExp(`(.{${count}})`, "g"), "$1\n")

RegExp
+
Array.prototype.join
版本:

const wrap=(raw,n)=>raw.match(新的RegExp(`.{1,${n}}},'g')).join('\n'))
const source='xageaojiegaogjiegaogjiegaogjoajgoeaggjaegaogjeaovc'

log(wrap(source,7))
谢谢,你能解释一下正则表达式是如何工作的吗?
$&
到底在做什么?这很好,我会尝试一下,墨西哥风格是的,我决定把数字/整数作为第一个参数,否则更容易阅读,看起来很好如果
count
获得默认值,它会更好。是的,而且我在OP中的解决方案也失败了,因为0%0==0或等待,实际上它等于NaN,不知道为什么我会得到一个换行符作为第二个字符,嗯