截取字符串中特定字符
2014-02-19 09:26
176 查看
String.prototype.Trim = function () { return this.replace(/(^\s*)|(\s*$)/g, ""); } function getcontent(str) { var result, length, repl = '罓', contaion = {}, index = 0; //var patt = new RegExp("@[^@\s]* "); var patt = /@[^@\s]*/; while ((result = patt.exec(str)) != null) { contaion[repl + index] = result; var start = result["index"]; var end = result[0].length + start; str = str.substring(0, start) + "<a href='javascript:void(0)' onclick=aaa(this)' uname='" + (repl + index) + "'>" + (repl + index) + "</a>" + str.substring(end); index = index + 1; } for (var i = 0; i < index; i++) { str = str.replace(repl + i, contaion[repl + i].toString().substr(1).Trim()).replace(repl + i, contaion[repl + i]); } return str; } var mystr = "@芜湖 @新疆 这就是最优美的。"; var str = getcontent(mystr); alert(str);
定义和用法
exec() 方法用于检索字符串中的正则表达式的匹配。语法
RegExpObject.exec(string)
参数 | 描述 |
---|---|
string | 必需。要检索的字符串。 |
返回值
返回一个数组,其中存放匹配的结果。如果未找到匹配,则返回值为 null。说明
exec() 方法的功能非常强大,它是一个通用的方法,而且使用起来也比 test() 方法以及支持正则表达式的 String 对象的方法更为复杂。如果 exec() 找到了匹配的文本,则返回一个结果数组。否则,返回 null。此数组的第 0 个元素是与正则表达式相匹配的文本,第 1 个元素是与 RegExpObject 的第 1 个子表达式相匹配的文本(如果有的话),第 2 个元素是与 RegExpObject 的第 2 个子表达式相匹配的文本(如果有的话),以此类推。除了数组元素和 length 属性之外,exec() 方法还返回两个属性。index 属性声明的是匹配文本的第一个字符的位置。input 属性则存放的是被检索的字符串 string。我们可以看得出,在调用非全局的 RegExp 对象的 exec() 方法时,返回的数组与调用方法 String.match() 返回的数组是相同的。
但是,当 RegExpObject 是一个全局正则表达式时,exec() 的行为就稍微复杂一些。它会在 RegExpObject 的 lastIndex 属性指定的字符处开始检索字符串 string。当 exec() 找到了与表达式相匹配的文本时,在匹配后,它将把 RegExpObject 的 lastIndex 属性设置为匹配文本的最后一个字符的下一个位置。这就是说,您可以通过反复调用 exec() 方法来遍历字符串中的所有匹配文本。当 exec() 再也找不到匹配的文本时,它将返回 null,并把 lastIndex 属性重置为 0。
提示和注释
重要事项:如果在一个字符串中完成了一次模式匹配之后要开始检索新的字符串,就必须手动地把 lastIndex 属性重置为 0。提示:请注意,无论 RegExpObject 是否是全局模式,exec() 都会把完整的细节添加到它返回的数组中。这就是 exec() 与 String.match() 的不同之处,后者在全局模式下返回的信息要少得多。因此我们可以这么说,在循环中反复地调用 exec() 方法是唯一一种获得全局模式的完整模式匹配信息的方法。
相关文章推荐
- js正则截取替换特定字符之间的字符串
- Excel 截取特定字符前的字符串
- JS基于正则截取替换特定字符之间字符串操作示例
- 关于mysql根据特定字符来截取字符串的一些方法
- java截取一个字符串正数或倒数某个特定字符前后的内容
- [置顶] java截取2个特定字符之间的字符串
- c# 截取字符串两特定字符中间的字符
- PHP截取字符串中两个特定唯一字符之间的内容
- C# indexof如何截取两个特定字符之间的字符串
- 如何按特定字符截取字符串
- c# 怎样截取两特定字符之间的字符串
- 截取字符串中特定字符之前的子串,并返回剩余子串
- c#中怎样截取两特定字符之间的字符串
- Lua 特定字符截取字符串
- python-字符串处理-去除首尾特定字符
- 【算法20】在字符串中删除特定的字符
- 找出字符串中特定字符出现的次数的实现(分拣思路)
- 替换字符串中特定的字符
- 算法习题63:字符串删除特定字符
- ABAP字符串操作 截取字符长度 取位数