js中常见的字符串方法(3)
2024-09-03 02:16:00
match()
match()
方法只接受一个参数,要么是一个正则表达式,要么是一个 RegExp
对象。
调用这个方法本质上与调用RegExp
的exec()
方法相同,
var text = "cat, bat, sat, fat";
var pattern = /.at/;
//与 pattern.exec(text)相同
text.match(pattern); // ['cat', 'bat', 'sat', 'fat']
search()
这个方法的唯一参数与match()
方法的参数相同:字符串或RegExp对象指定的一个正则表达式。
返回字符串中第一个匹配项的索引;如果没有找到匹配项,则返回-1
var text = "cat, bat, sat, fat";
var pos = text.search(/at/);
console.log(pos);// 1 返回字符串中第一个匹配项的索引
replace()
第一个参数是RegExp对象或者一个字符串(这个字符串不会被转换成正则表达式),第二个参数可以是一个函数或一个字符串,可以是一些系统提供的特殊字符序列.
$$ $
$& 匹配整个模式的子字符串.与RegExp.lastMatch的值相同
$' 匹配的子字符串之前的子字符串.与RegExp.leftContext的值相同
$` 匹配的子字符串之后的子字符串.与RegExp.rightContext的值相同
$n 匹配第n个捕获组的子字符串,其中n等于0~9.
$nn 匹配第nn个捕获组的子字符串,其中nn等于01~99.
如果第一个参数是字符串,那么只会替换第一个子字符串;要想替换所有子字符串,唯一的办法就是提供一个正则表达式,而且要指定全局(g)
标志.
var text = "cat, bat, sat, fat";
text.repalce("at", "ond");// "cond, bat, sat, fat"
text.replace(/at/g, "ond");// "cond, bond, sond, fond"
replace()方法的第二个参数如果是函数,在只有一个匹配项(即与模式匹配的字符串)的情况下,会向这个函数传递3个参数:模式的匹配项,模式匹配项在字符串中的位置,原始字符串
split()
基于指定的分隔符将一个字符串分割成多个子字符串,并将结果放在一个数组中,分隔符可以是字符串,也可以是一个RegExp对象(这个方法不会将字符串看成正则表达式),第二个可选参数用于指定数组的大小,以确保返回的数组不会超过既定大小.
var colors = "red,blue,green,yellow";
var c1 = colorText.split(",");// ["red", "blue", "green", "yellow"]
var c2 = colorText.split(",", 2);// ["red", "blue"]
var c3 = colorText.split(/[^\,]+/);// ["", ",", ",", ",", ""]
localeCompare()
比较两个字符串,并返回下列值中的一个:
- 如果字符串在字母表中应该排在字符串参数之前,则返回一个负数,大多数返回-1,具体值视实现而定
- 如果字符串等于字符串参数,则返回0
- 如果字符串在字母表中应该排在字符串参数之后,则返回一个正数,大多数返回1,具体值视实现而定
var stringValue = "yellow";
stringValue.localeCompare("brick");// 1
stringValue.localeCompare("yellow");// 0
stringValue.localeCompare("zoo"); -1
fromCharCode()
这个方法是String构造函数本身的静态方法
String.fromCharCode(104, 101, 108, 108, 111);// hello
最新文章
- 【手记】F5调试报";由于缺少调试目标xxx无法开始调试xxx设置OutputPath和AssemblyName";
- PHP的排序算法跟查找算法
- CSU 1597 薛XX后代的IQ
- IHttpHandler防止图片链接被盗用
- LeetCode 21 -- Merge Two Sorted Lists
- Atitit 电子商务订单号码算法(java c# php js 微信
- Spring MVC @ResponseBody返回中文字符串乱码问题
- javascript中方法调用与方括号[]
- codeforces 682C Alyona and the Tree DFS
- cocos2d-x 技能冷却特效
- Bzoj 2453: 维护队列 &;&; Bzoj 2120: 数颜色 分块,bitset
- memory引擎的索引失效一例
- 【读书笔记】【深入理解ES6】#8-迭代器(Iterator)和生成器(Generator)
- ROS(indigo)RRT路径规划
- RedisHelper帮助类
- iOS 让视图UIView 单独显示某一侧的边框线
- VirtualBox安装复制Centos6.6配置网络
- 发现环 (拓扑或dfs)
- 回文数的golang实现
- 【代码审计】XIAOCMS_后台database.php页面存在任意文件删除漏洞
热门文章
- MongoDB mongoimport 从csv导入数据指定字段类型
- 文件夹上传插件webupload插件
- Xamarin.Forms一些常见问题
- promethues exporter+ grafana 监控pg+mysql
- 在微信小程序页面间传递数据总结
- 市值TOP10,人类进化及中美坐标
- ConcurrentHashMap 无锁读
- DesktopSharing<;转>;
- VUE-012-图表 v-charts 学习(一)饼图展示状态
- Python3基础 from...import...as 解决局部导入时的函数名重复问题