带有正则表达式的{Javascript多行空白条

时间:2015-05-21 05:28:37

标签: javascript regex replace whitespace strip

我正在寻找有效的多行空格剥离文本字符串

应该

  1. 将所有\r替换为\n
  2. 删除每行中的所有前导和尾随空格。
  3. 删除空白和空白行。
  4. 用一个空格替换每行中的所有空格序列。
  5. 尊重所有unicode空白字符。
  6. 因此,对于给定的字符串

    var string = ' \n\t \r  \r  \xA0\n <1>  \r     \n\r\r\n\n   <2> \t \t \r \t  \r \r <3>   \n  <a    a   a   a> \r \r \r \r\t  \n   \n  ';
    

    它应该返回

    "<1>\n<2>\n<3>\n<a a a a>"
    

    到目前为止,我想到了这个:

    string
        .replace(/[ \f\t\v\u00a0\u1680\u180e\u2000-\u200a\u2028\u2029\u202f\u205f\u3000]+/g, ' ')
        .replace(/ ?[\n\r][\n\r ]*/g, '\n')
        .replace(/^\n|\n$/g, '')
    ;
    

    你能建议一个更好的&#34;方式是什么?

    请不要建议.split().map().join() s

0 个答案:

没有答案