2012-01-18 16 views
-1

で文字列を解析するためにJavaScriptを使用してどのように私は、配列内の文字列<markup>シンボル

strdata = "<mymarkup><P>Hello world!</P>" 

を持っています。したがって、上記の値を含むstrata[1][1]の場合。部分文字列関数を使用して<文字を検出するにはどうすればよいですか?例えば

if (strata[1][1].substring(0,9) = "<mymarkup>") { 
    // etc... 
+1

あなたは '===' '=' – Znarkus

+0

あなたのマークアップを解析するために、私は[に探して推薦していないはずです正規表現](https://developer.mozilla.org/ja/JavaScript/Guide/Regular_Expressions)を参照してください。 –

答えて

0

あなただけのこれまでと同じ文字列に対してチェックする必要がある場合。例えば。 "<mymarkup>" maericsスニペットを使用するのが最適です。

しかし、多くの異なる文字列に対してチェックする必要がある場合は、面倒です。文字列が指定された接頭辞で始まるかどうかを確認する再利用可能な例を次に示します。

機能的なスタイル:比較した場合

function startsWith(str, starts){ 
    return str.length >= starts.length && str.substring(0, starts.length) === starts; 
} 

if(startsWith(strata[1][1], '<mymarkup>')){ 
// do something 
} 

オブジェクト指向スタイル

String.prototype.startsWith = function(starts){ 
    return this.length >= starts.length && this.substring(0, starts.length) === starts; 
}; 

if(strata[1][1].startsWith('<mymarkup>')){ 
// do something 
} 
1

は、比較して、例えば==(またはより良い===)オペレータが動作します使用してください。 =演算子は代入のためのもので、条件付きで予想される結果は(ほとんど)常に得られません。

if (strdata[1][1].substring(0,10) === "<mymarkup>") { 
    // Ok... 

はまた<文字を検出するために、string indexOf() functionを使用することができます。

if (strdata[1][1].indexOf("<") > -1) { 
    // Ok... 
+0

ビンゴ!どうもありがとうございました。 – TJS101