String.replace使用技巧
2024-09-04 10:42:29
relace
replace() 方法返回一个由替换值替换一些或所有匹配的模式后的新字符串。模式可以是一个字符串或者一个正则表达式, 替换值可以是一个字符串或者一个每次匹配都要调用的函数。
使用字符串作为参数
变量名 代表的值
$$ 插入一个 "$"。
$& 插入匹配的子串。
$` 插入当前匹配的子串左边的内容。
$' 插入当前匹配的子串右边的内容。
$n 假如第一个参数是 RegExp对象,并且 n 是个小于100的非负整数,那么插入第 n 个括号匹配的字符串。提示:索引是从1开始
var re = /(\w+)\s(\w+)/;
var str = "John Smith";
var newstr = str.replace(re, "$2, $1");
// Smith, John
console.log(newstr);
指定一个函数作为参数
变量名 代表的值
match 匹配的子串。(对应于上述的$&。)
p1,p2, 假如replace()方法的第一个参数是一个RegExp 对象,则代表第n个括号匹配的字符串。(对应于上述的$1,$2等。)例如, 如果是用 /(\a+)(\b+)/这个来匹配, p1就是匹配的 \a+, p2 就是匹配的 \b+。
...
offset 匹配到的子字符串在原字符串中的偏移量。(比如,如果原字符串是“abcd”,匹配到的子字符串是“bc”,那么这个参数将是1)
string 被匹配的原字符串。
function replacer(match, p1, p2, p3, offset, string) {
// p1 is nondigits, p2 digits, and p3 non-alphanumerics
return [p1, p2, p3].join(' - ');
}
var newString = 'abc12345#$*%'.replace(/([^\d]*)(\d*)([^\w]*)/, replacer);
console.log(newString); // abc - 12345 - #$*%
最新文章
- socket网络编程
- Android listview与adapter用法
- 视频转gif
- MySQL不能插入中文字符及中文字符乱码问题
- 基于Ubuntu虚拟机安装edx-platform
- php--linux环境下的主从复制
- Python快速建站系列-Part.One-组装开发环境
- 从一个URL下载原始数据,基于byte字节,得到byte数组
- 212. Word Search II
- java加载配置文件
- 我的第一个MFC的ArcGIS Engine程序
- Oracle学习笔记(1)——查询及删除重复数据
- python解析命令行
- bzoj1121
- DC平衡双向控制解串器 转接IC GM8914:FPD-LINK III转LVTTL芯片
- 彻底理解Java的Future模式
- git-format-patch
- 使用PgBouncer连接池
- python学习 day6 (3月7日)
- 关于空指针NULL、野指针、通用指针