2017-09-20 18 views
1

文字列内の特定のフレーズを探して、その後すべてを取り出して新しい変数に格納するのが最善の方法です。たとえば場合:javascriptで特定の文字列を抽出する方法

var input= "123|ABC S|peter [email protected]!!234|George K|[email protected]"; 

予想される出力は次のようになります。

peter [email protected],[email protected] 

私はそのコードを試してみました:

var input= "123|ABC S|peter [email protected]!!234|George K|[email protected]"; 
var result = input.match(/[a-z]+/gi); 
document.write(result); 
+0

入力文字列は、同じフォーマットであること、それを分割して使用する場合。 var input = "123 | ABC S | peter [email protected]!!234 | George K|[email protected]"; 入力= input.split( '|')、 console.log –

+0

私は文字列の電子メール部分のみを抽出する必要があります:peter s @ xyz.com、george.k @ xyz .com。サンプルコードで提案できますか? – geeta

+0

var input = "123 | ABC S | peter [email protected]!!234 | George K|[email protected]"; input = input.split( '|')、console.log(input [2]、input [4])このコードのouptutはpeter [email protected] !! [email protected]は:ピーター@ xyz.com、george.k @ xyz.com – geeta

答えて

0

入力文字列からのメールのみを抽出するには、この

var input= "123|ABC S|peter [email protected]!!234|George K|[email protected]"; 
var result1 = input.match(/([a-zA-Z0-9._+-]+ [a-zA-Z0-9._+-][email protected][a-zA-Z0-9._-]+\.[a-zA-Z0-9._-]+)/gi); 
var result = input.match(/((\d*)+ [a-zA-Z0-9._+-][email protected][a-zA-Z0-9._-]+\.[a-zA-Z0-9._-]+)/gi); 
document.write(result1 + "," + result); 
を試してみてください

fiddle

+0

あなたはこの試合を説明できますか(input.match(/([a-zA-Z0-9 ._ + - ] + @ [a-zA-Z0-9。期待値は:peter s @ xyz.com、george.k @ xyz.comであり、このコードの結果はs @ xyz.com、george.k @ xyz.com。ありがとう、私は正確な出力をgeetingしているあなたはこれを説明することができます(input.match(/([a-zA-Z0-9 ._ + - ] + @ [a-zA-Z0 -9 ._-] + \。[a-zA-Z0-9 ._-] +)/ gi);正規表現が2回追加された理由 – geeta

+0

最新のコードをチェックすると、正確な出力が得られます。 – Znaneswar

+0

Yess、正確な出力を得ています。使用している正規表現を理解しようとしています。 – geeta

0

これにはString.Prototype.splitを使用することもできます。

var input= "123|ABC S|peter [email protected]!!234|George K|[email protected]"; 
 
var users=input.split('!!'); 
 
var output=''; 
 
users.forEach(function(d, i){ 
 
    details = d.split('|'); 
 
    output+=details[details.length - 1]; 
 
    if(i!==(users.length-1)) 
 
    output+=',' 
 
    } 
 
) 
 
console.log(output);

+0

この部分について説明してください:users.forEach(function d、i){ 詳細= d.split( '|'); 出力+ =詳細[詳細。長さ-1]; if(i!==(users.length-1)) 出力+ = '、' } – geeta

+0

https://developer.mozilla.org/en-US/docs/Web/で「split」のドキュメントを参照してください。 JavaScript/Reference/Global_Objects/String/splitと 'forEach'をhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEachに追加してください。すべての要素を繰り返し処理し、|で分割してメールを取得します。セパレータとして使用し、出力変数に追加します –

関連する問題