【问题标题】:Split long string into multiple lines regxp error将长字符串拆分为多行regxp错误
【发布时间】:2019-06-29 22:41:35
【问题描述】:

我尝试将一个长字符串拆分为多行以在反应中输出:

let text ='fooooooooooooooooooooooooooooooooooooooooooooooooooo'
let rowEnd=10;
let regxp = new RegExp(rowEnd, "g");
let lines = text.match(regxp);
text = lines.join("\n");
console.log(text);

但出现错误:TypeError: Cannot read property 'join' of null.

我做错了什么?

【问题讨论】:

  • 预期的结果应该是字符串在每10个字符后被分割成一个新行。
  • 你为什么会期待这样的结果?你至少检查过正则表达式的语法吗?
  • 是的。如果我不为表达式创建变量,它就可以工作。

标签: javascript regex reactjs


【解决方案1】:

您需要使用正确的RegExp,即/.{10}/g

let text = "fooooooooooooooooooooooooooooooooooooooooooooooooooo";
let rowEnd = 10;
let regxp = new RegExp(`.{${rowEnd}}`, "g");
let lines = text.match(regxp);
text = lines.join("\n");
console.log(text);

【讨论】:

    【解决方案2】:

    另一种方法是使用replace 方法,如下所示:

    let text ='0123456789abcsdbgdjb9876543210pol' ,
        rowEnd = 10 ,
        patt = new RegExp('.{' + rowEnd + '}','g') ;
    
    console.log( text.replace(patt,'$&\n') ) ;

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-12-31
      • 1970-01-01
      • 1970-01-01
      • 2012-11-20
      • 1970-01-01
      相关资源
      最近更新 更多