我有一個數組的字符串如何使用JavaScript來解析字符串<markup>符號
strdata = "<mymarkup><P>Hello world!</P>"
。因此對於包含上述值的strata[1][1]
。如何使用子字符串函數檢測<
字符?
例如:
if (strata[1][1].substring(0,9) = "<mymarkup>") {
// etc...
我有一個數組的字符串如何使用JavaScript來解析字符串<markup>符號
strdata = "<mymarkup><P>Hello world!</P>"
。因此對於包含上述值的strata[1][1]
。如何使用子字符串函數檢測<
字符?
例如:
if (strata[1][1].substring(0,9) = "<mymarkup>") {
// etc...
如果你永遠只能有對證相同的字符串。例如。 「<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
}
使用==
(或更好===
)算進行比較和你的例子會工作。 =
運算符用於賦值,並且(幾乎)總是不會產生您對條件期望的結果。
if (strdata[1][1].substring(0,10) === "<mymarkup>") {
// Ok...
您還可以使用string indexOf()
function檢測<
字符:
if (strdata[1][1].indexOf("<") > -1) {
// Ok...
賓果!非常感謝你。 – TJS101 2012-01-18 17:24:15
在比較你應該有''===沒有'=' – Znarkus 2012-01-18 17:17:22
爲了解析您的標記,我會建議尋找到[正則表達式](https://developer.mozilla.org/en/JavaScript/Guide/Regular_Expressions),尤其是替換函數。 – 2012-01-18 23:32:23