0

次のテキストがあり、「 」のみを含む行を削除したい (つまり、最初と最後の行を削除し、3 行目を保持します) JavaScript を使用していますか?

オリジナル:

      
<br>     
    ABCDEF
   

望ましい結果:

<br>      
    ABCDEF
4

2 に答える 2

0

試してみます:

var output = str.replace(/(?:^|\r?\n)(?: )*?(?=$|\r?\n)/g, '');

フィドル

また、テキストのない行を保持したい場合は、 に置き換え*ます+。つまり、次の入力テキストを考慮します。

foo
 

baz

最初の正規表現は空の行を削除します:

foo
baz

/(?:^|\r?\n)(?: )+?(?=$|\r?\n)/gそれを保ちながら:

foo

baz
于 2013-04-26T03:25:00.950 に答える
0

この関数はそれを行う必要があります:

function cleanLines(s) {
var x = s.match(/[^\r\n]*/g), i, y;
for (i=0; i<x.length; i++) {
y = x[i].replace(/\s*&nbsp;\s*/g, '');
if (y.length == 0)
x[i] = y;
else
x[i] = x[i] + '\n'; /* or \r\n if you want 30-year obsolete typewriter carriage returns */
}
return x.join('');
}

関数cleanLines(inputString)を実行して、不要な行をすべて削除した戻り値を取得します。

于 2013-04-26T03:25:08.063 に答える