js截取字符串

看来正则需要好好学习学习了,今天遇到了个截取字符串的问题。

有个字符串,格式如下:
var vcard='<vCard xmlns="vcard-temp"><N><GIVEN>1</GIVEN></N><BDAY>2</BDAY><EMAIL>3</EMAIL><URL>4</URL><ADR><CTRY>5</CTRY><REGION>6</REGION><LOCALITY>7</LOCALITY><STREET>8</STREET><EXTADD>9</EXTADD><PCODE>10</PCODE></ADR><ORG><ORGNAME>11</ORGNAME><ORGUNIT>xxxxxxxxxxxxx</ORGUNIT></ORG><TITLE>12</TITLE><ROLE>13</ROLE><DESC>14</DESC></vCard>';

所需<ORGUNIT>xxxxxxxxxxxxx</ORGUNIT>中的值


解决方法如下:

var vcard='<vCard xmlns="vcard-temp"><N><GIVEN>1</GIVEN></N><BDAY>2</BDAY><EMAIL>3</EMAIL><URL>4</URL><ADR><CTRY>5</CTRY><REGION>6</REGION><LOCALITY>7</LOCALITY><STREET>8</STREET><EXTADD>9</EXTADD><PCODE>10</PCODE></ADR><ORG><ORGNAME>11</ORGNAME><ORGUNIT>xxxxxxxxxxxxx</ORGUNIT></ORG><TITLE>12</TITLE><ROLE>13</ROLE><DESC>14</DESC></vCard>';
    var t,reg = /<ORGUNIT>([\s\S]*?)<\/ORGUNIT>/ig;
    while((t=reg.exec(vcard))!=null){ 
      alert(t[1]);
    }

dml@2013.1.7
在JavaScript中,有多种方法可以截取字符串,以下为你介绍几种常用的方法: ### `slice()` 方法 `slice()` 方法可提取字符串的某个部分,并以新的字符串返回被提取的部分。它接受两个参数,分别是开始位置和结束位置(可选),如果省略第二个参数,则会截取从开始位置到字符串末尾的所有字符。如果参数为负数,则表示从字符串的末尾开始计算位置。 ```javascript let str = "Hello, World!"; let slicedStr = str.slice(7, 12); console.log(slicedStr); // 输出: World ``` ### `substring()` 方法 `substring()` 方法用于提取字符串中介于两个指定下标之间的字符。它接受两个参数,分别是开始位置和结束位置(可选),如果省略第二个参数,则会截取从开始位置到字符串末尾的所有字符。与 `slice()` 不同的是,`substring()` 不接受负数参数,如果传入负数,会被当作 0 处理。 ```javascript let str = "Hello, World!"; let subStr = str.substring(7, 12); console.log(subStr); // 输出: World ``` ### `substr()` 方法 `substr()` 方法可在字符串中抽取从 `start` 下标开始的指定数目的字符。它接受两个参数,第一个参数是开始位置,第二个参数是要截取的字符长度(可选),如果省略第二个参数,则会截取从开始位置到字符串末尾的所有字符。需要注意的是,`substr()` 方法在 ECMAScript 6 标准中已被弃用,但大多数浏览器仍然支持。 ```javascript let str = "Hello, World!"; let subStr = str.substr(7, 5); console.log(subStr); // 输出: World ``` ### `split()` 结合数组操作 `split()` 方法用于把一个字符串分割成字符串数组。可以先使用 `split()` 方法将字符串分割成数组,然后根据需要选择数组中的元素,最后使用 `join()` 方法将数组元素重新组合成字符串。 ```javascript let str = "Hello, World!"; let parts = str.split(", "); let newStr = parts[1]; console.log(newStr); // 输出: World! ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值