2016-11-23 5 views
-1

から文字列を削除する:私はつまり、文字列から「ヌル」のいずれかの試合を削除する必要が私は以下のように見える自動的に生成された文字列を持っている文字列REGEX

["January","February",null,"April"] 

を:

["January","February",null,"April"] --> ["January","February","April"] 

",null"を除くすべての検索方法はありますか?

"^(?!,null).*"のバリエーションを試してみましたが、これは成功しませんでした。あまりにもエッジケースを処理するために、しかし

str = str.replace(",null", ""); 

:述べたように、あなたは正規表現を必要としない、あなたの質問に答えるために

答えて

1

["January","February",null,"April"] --> ["January","February","April"] 
["January",null,null,"April"] --> ["January","April"] 
[null,"January","February","April"] --> ["January","February","April"] 
["January","February","April",null] --> ["January","February","April"] 
[null] --> [] 

あなたはより良い正規表現を添えられます:

str = str.replaceAll("(?<=\\[)null,?|,null", ""); 

置換正規表現fまたはnull最初の(潜在的に唯一の)位置、およびそれ以外の場合。

+0

は、そのまた後にその前の項目の末尾の引用を剃り落とす、またはアイテムの大手引用符ではないでしょう使用することができますそれ? –

+0

@Joeテスト済みのソリューションで編集しました。興味深いことに、第1位のヌルは唯一の「面白い」ケースでした。他のすべての位置では、必要な '、null'の削除だけです。 – Bohemian

0

、このいずれかを確認してください、私たちは、フィルタ機能

var arr = [null, "January","February",null,"April", null]; 
 

 
var arr2 = arr.filter(function(x){return x !== null}) 
 

 
console.log(arr,arr2);

関連する問題