2012-01-18 44 views
-1

我有一個數組的字符串如何使用JavaScript來解析字符串<markup>符號

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

。因此對於包含上述值的strata[1][1]。如何使用子字符串函數檢測<字符?

例如:

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

在比較你應該有''===沒有'=' – Znarkus 2012-01-18 17:17:22

+0

爲了解析您的標記,我會建議尋找到[正則表達式](https://developer.mozilla.org/en/JavaScript/Guide/Regular_Expressions),尤其是替換函數。 – 2012-01-18 23:32:23

回答

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 2012-01-18 17:24:15