如何使用JavaScript来解析字符串符号
问题描述:
我有一个数组的字符串如何使用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...
+0
宾果!非常感谢你。 – 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