Javascript RegExp以展开包含<;的XML CDATA多行文本;br>';里面有什么?
有谁知道一个好的注册经验,可以做到这一点,最好的一次去?它需要删除每行开头/结尾处的空白,删除LFs和CRs并替换为单个空格,但如果行末尾有一个Javascript RegExp以展开包含<;的XML CDATA多行文本;br>';里面有什么?,javascript,xml,actionscript-3,actionscript,Javascript,Xml,Actionscript 3,Actionscript,有谁知道一个好的注册经验,可以做到这一点,最好的一次去?它需要删除每行开头/结尾处的空白,删除LFs和CRs并替换为单个空格,但如果行末尾有一个(或),则不应添加空格。我需要在符合JavaScript规范的regexp中使用它。我将使用以下内容: var str = ' foo<br>\nbar\nbaz \n quox\nquox'; // split into lines var lines = str.split('\n'); // iterate over each lin
(或
),则不应添加空格。我需要在符合JavaScript规范的regexp中使用它。我将使用以下内容:
var str = ' foo<br>\nbar\nbaz \n quox\nquox';
// split into lines
var lines = str.split('\n');
// iterate over each line
for (var i = lines.length; i--; ) {
// trim whitespace
lines[i] = lines[i].replace(/^\s+|\s+$/g, '');
// add whitespace at the end if string doesn't end with "<br>"
if (!/<br>$/.test(lines[i])) lines[i] += ' ';
}
// concatenate into a string again
lines.join('');
var str='foo
\nbar\nbaz\n quox\nquox';
//分成几行
变量行=str.split('\n');
//迭代每行
对于(var i=lines.length;i--;){
//修剪空白
行[i]=行[i]。替换(/^\s+|\s+$/g');
//如果字符串未以“
结尾,请在结尾添加空格
如果(!/
$/.test(行[i])行[i]+='';
}
//再次连接成字符串
行。连接(“”);
谢谢kangax!那就行了!虽然我认为可能有一个最终的regexp,但这也很好!你会感到惊讶,但正则表达式越大,效率通常就越低:)通常,最好将任务分成更小的块,这样对你自己和正则表达式引擎来说都会更容易。