JavaScript常用的字符串操作对象方法
文章目录
- ==对象方法==
- ++搜索、索引
- `indexOf() ` :搜索首个字符串出现的位置
- `lastIndexOf() `:搜索最后出现的字符串位置
- `includes() `:搜索判断字符串是否包含指定的子字符串
- `charAt() `:搜索返回指定位置的字符
- ++截取、提取
- `substring()`:返回指定索引区间的字符串
- `slice()` :提取字符串的某个部分,并且返回的字符串是新的
- `substr()` :抽取指定下标到指定数目长度的字符串
- ++拼接
- `concat()` :抽取指定下标到指定数目长度的字符串
- ++替换
- `replace()` :用一些字符替换另一些字符或替换一个与正则表达式匹配的子串。
- ++转换
- `toString()` :返回一个表示 String 对象的值。
- `toUpperCase()` :把字符串转换为大写。
- `toLowerCase()` :把字符串转换为小写。
- ++分割成数组
- `split() `:把一个字符串分割成字符串数组
- ==需要看更多?==
- ++[菜鸟教程字符串操作方法合集地址](https://www.runoob.com/jsref/jsref-obj-string.html)
- ++[w3school字符串操作方法合集地址](https://www.w3school.com.cn/jsref/jsref_obj_string.asp)
- ==练手试题==
- ++ 字符串字符统计(牛客网)
- ++ 时间格式化输出(牛客网)
- ==项目中遇到过==
- ==数组操作对象方法==
对象方法
++搜索、索引
indexOf()
:搜索首个字符串出现的位置
var str = 'hi weianl !哈哈哈';
str.indexOf('h'); // 返回0,从0开始
str.indexOf('i'); // 返回1,首个字符串
str.indexOf('weianl'); // 返回3,空格键占1
str.indexOf('!'); // 返回13,Tab键占4
str.indexOf('233'); //返回-1,未找到
lastIndexOf()
:搜索最后出现的字符串位置
var str = '赏花赏月赏秋香';
str.lastIndexOf('赏')//返回4,下标从左边0开始数起
includes()
:搜索判断字符串是否包含指定的子字符串
var str = '哇拷I服了YOU';
str.includes('I')//true
str.includes('i')//区分大小写false
str.includes('I',3)//指定位置开始搜索,未找到返回false,
charAt()
:搜索返回指定位置的字符
var str = "做人如果没梦想,跟咸鱼有什么分别。";
str.charAt(5)//返回'梦'
++截取、提取
substring()
:返回指定索引区间的字符串
substring()返回的字符串是原有的,参数一为开始下标(必需,一个非负的整数);参数二为结束下标(可选,一个非负的整数);
var s = '其实我是个演员';
s.substring(0, 2); // 从索引0开始到2(不包括2),返回'其实'
s.substring(5); // 从索引5开始到结束,返回'演员'
s.substring(5,7); // 下标超出后不报错,返回'演员'
s.substring(2, 0); // 反着写也可以,返回'其实'
s.substring(2, -1); // 下标为负数直接忽略为,返回'其实'
s.substring(-1, 2); // 下标为负数直接忽略为,返回'其实'
slice()
:提取字符串的某个部分,并且返回的字符串是新的
slice()返回的字符串是新的,参数一为开始下标(必需,一个非负的整数);参数二为结束下标(可选,一个整数,可已是负)
var str='如花!真的是你!';
str.slice(0,3); //从索引0开始到2(不包括2),返回'如花!'
str.slice(3);// 从索引3开始到结束,返回'真的是你!'
str.slice(3,8);//下标超出后不报错,返回'真的是你!'
str.slice(3,0);//输出值为空
str.slice(3,-1);//负数下标从右边数起,返回'真的是你'
str.slice(-1,3);//输出值为空
substr()
:抽取指定下标到指定数目长度的字符串
substr()可传两个参数,参数一为开始下标(如果是负数,那么该参数声明从字符串的尾部开始算起的位置);参数二为截取长度(可选。子串中的字符数,正整数)
var str ='别以为你长得帅我就不打你';
str.substr(4,3)//从索引4开始取3位,返回'长得帅'
str.substr(-2)//负数下标从右边数起,返回'打你'
str.substr(-8,3)//,下标负时长度无效了,返回'长得帅我就不打你'
++拼接
concat()
:抽取指定下标到指定数目长度的字符串
var str1 ='你可以叫我跑龙套的,'
var str2 ='但是请不要在前面加个“死”字好不好?'
var str3 ='哼,你个死跑龙套的。'
str1.concat(str2);//返回'你可以叫我跑龙套的,但是请不要在前面加个“死”字好不好?'
str1.concat(str2,str3);//返回'你可以叫我跑龙套的,但是请不要在前面加个“死”字好不好?哼,你个死跑龙套的。'
++替换
replace()
:用一些字符替换另一些字符或替换一个与正则表达式匹配的子串。
var str = '我爱你!如果非要给这份爱加上一个期限,我希望是,一万年!'
str.replace('我爱你','我钟意你')
//返回"我钟意你!如果非要给这份爱加上一个期限,我希望是,一万年!"str.replace('一','1')
//只匹配首个,返回"我爱你!如果非要给这份爱加上1个期限,我希望是,一万年!"//正则表达
str.replace(/一/g,"1");
//"我爱你!如果非要给这份爱加上1个期限,我希望是,1万年!"
++转换
toString()
:返回一个表示 String 对象的值。
//数字转换为字符串。
var num=727;
typeof(num) //"number"
num.toString()//"727"字符串
typeof(num.toString())//"string"//数组转换成字符串
var fruits = ["Apple","Banana", "Mango","Orange"];
fruits.toString();//返回字符串"Apple,Banana,Mango,Orange"//进制转换
var num = 10; //默认10进制数字
num.toString(10)//转换成十进制,返回字符串"10"
num.toString(2)//转换成而进制,返回字符串"1010"
num.toString(8)//转换成八进制,返回字符串"12"
num.toString(16)//转换成十进制,返回字符串"a"//toString返回的是字符串,要转成数字用parseInt(num)
toUpperCase()
:把字符串转换为大写。
var str='WeianL';
str.toUpperCase()//返回'WEIANL'
toLowerCase()
:把字符串转换为小写。
var str='WeianL';
str.toLowerCase()//返回'weianl'
++分割成数组
split()
:把一个字符串分割成字符串数组
//直接分割
var str = '我左青龙,右白虎,老牛在腰间,龙头在胸口,人挡杀人,佛挡杀佛!'
str.split('')
/*
** 返回
** ["我", "左", "青", "龙", ",", "右", "白", "虎", ","
** ,"老", "牛", "在", "腰", "间", ",", "龙", "头", "在", "胸", "口", ","
** ,"人", "挡", "杀", "人", ",", "佛", "挡", "杀", "佛", "!"]
*/
//以逗号分割
str.split(',')//返回["我左青龙", "右白虎", "老牛在腰间", "龙头在胸口", "人挡杀人", "佛挡杀佛!"]//第二个参数为返回的长度
str.split(',',2)//返回["我左青龙", "右白虎"]//以空格分割
var str = '我左青龙 右白虎 老牛在腰间 龙头在胸口 人挡杀人 佛挡杀佛!'
str.split(' ')//返回["我左青龙", "右白虎", "老牛在腰间", "龙头在胸口", "人挡杀人", "佛挡杀佛!"]
需要看更多?
++菜鸟教程字符串操作方法合集地址
++w3school字符串操作方法合集地址
练手试题
题目、答案拷自牛客网,答案不是最简的,不过刚好可以运用到JS对象方法。
++ 字符串字符统计(牛客网)
题目描述:
统计字符串中每个字符的出现频率,返回一个 Object,key 为统计字符,value 为出现频率
- 不限制 key 的顺序
- 输入的字符串参数不会为空
- 忽略空白字符
输入:
‘hello world’
输出:
{h: 1, e: 1, l: 3, o: 2, w: 1, r: 1, d: 1}
答案:(需要更多?)
function count(str) {//用正则表达式去除空白符var newStr = str.replace(/\s/g,"");//console.log(newStr) //helloworldvar res={};for(var i=0 ; i<newStr.length; i++){//循环字符串,判断是否已存在对象中if(newStr.charAt(i) in res){res[newStr.charAt(i)]++;} else{res[newStr.charAt(i)] = 1;}}return res;
}
count('hello world')
++ 时间格式化输出(牛客网)
题目描述:
按所给的时间格式输出指定的时间
格式说明
对于 2014.09.05 13:14:20
yyyy: 年份,2014
yy: 年份,14
MM: 月份,补满两位,09
M: 月份, 9
dd: 日期,补满两位,05
d: 日期, 5
HH: 24制小时,补满两位,13
H: 24制小时,13
hh: 12制小时,补满两位,01
h: 12制小时,1
mm: 分钟,补满两位,14
m: 分钟,14
ss: 秒,补满两位,20
s: 秒,20
w: 星期,为 [‘日’, ‘一’, ‘二’, ‘三’, ‘四’, ‘五’, ‘六’] 中的某一个,本 demo 结果为 五
输入:
formatDate(new Date(1409894060000), ‘yyyy-MM-dd HH:mm:ss 星期w’)
输出:
2014-09-05 13:14:20 星期五
答案:(需要更多?)
function formatDate(t,str){var obj = {yyyy:t.getFullYear(),yy:(""+ t.getFullYear()).slice(-2),M:t.getMonth()+1,MM:("0"+ (t.getMonth()+1)).slice(-2),d:t.getDate(),dd:("0" + t.getDate()).slice(-2),H:t.getHours(),HH:("0" + t.getHours()).slice(-2),h:t.getHours() % 12,hh:("0"+t.getHours() % 12).slice(-2),m:t.getMinutes(),mm:("0" + t.getMinutes()).slice(-2),s:t.getSeconds(),ss:("0" + t.getSeconds()).slice(-2),w:['日', '一', '二', '三', '四', '五', '六'][t.getDay()]};return str.replace(/([a-z]+)/ig,function($1){return obj[$1]});
}formatDate(new Date(1409894060000), 'yyyy-MM-dd HH:mm:ss 星期w')
//"2014-09-05 13:14:20 星期五"
项目中遇到过
JS查询字符串的某几个字给它添加样式、标签、字符串
数组操作对象方法
JavaScript常用的数组操作对象方法
JavaScript常用的字符串操作对象方法相关推荐
- JavaScript学习笔记——underscore操作对象的方法
var obj = {a:'aaa',b:'bbb',c:'ccc'}; 1._.keys(obj)获取对象的所有属性名称 2._.values(obj)获取对象的所有属性值 3._.extend(d ...
- JavaScript中的字符串操作(转)
http://www.cnblogs.com/xuebin/articles/1296837.html 最近编一个javascript的翻译程序,发现无法正确比较两个字符串的相等,上网查了查,发现这篇 ...
- 前端之 JavaScript 常用数据类型和操作
JavaScript 常用数据类型有:数字.字符串.布尔.Null.Undefined.对象 JavaScript 拥有动态类型 JavaScript 拥有动态类型.这意味着相同的变量可用作不同的类型 ...
- [记录] JavaScript 中的字符串操作
字符串原型: 通过修改字符串的原型,可以为所有字符串添加公共方法 String.prototype.startwith = function(text) {return this.indexOf(te ...
- javascript 常用的数组操作
join() Array.join(/* optional */ separator) 将数组转换为字符串,可带一个参数 separator (分隔符,默认为","). 与之相反的 ...
- JavaScript中的类方法、对象方法、原型方法
类方法:也叫函数方法,在JavaScript中函数也是一个对象,所以可以为函数添加属性以及方法: 对象方法:包括构造函数中的方法以及其原型上面的方法: 原型方法:一般用于对象实例共享,在原型上面添加该 ...
- c语言中空格字符怎么表示_C语言中常用的字符串操作函数
作者:陈太浪 出处:https://home.cnblogs.com/u/TomHe789/ C语言中提供了许多的字符串操作函数,常见的字符串操作函数有以下几种: 1.求字符串长度的函数 原型函数:s ...
- java 中字符串比较方法_java中常用的字符串的比较方法(两种)
比较字符串比较常用的两个方法是运算符"="和String的equals方法. 使用"="比较两个字符串,是比较两个对象的的"地址"是否一致, ...
- javascript 常用的dom操作及源生事件
javascript dom操作及源生事件 获取dom节点 操作dom节点 源生事件 -- 绑定.解除事件 源生事件 -- 事件派送 获取dom节点 document.getElementById() ...
最新文章
- eclipse 默认jdk 的设置 eclipse.ini -vm 参数
- vc6.0能编辑html,科学网—VC6.0的18个实用小技巧 - 梁才的博文
- sql server解析xml属性为表格_[Mybatis][基础支持层]mapper xml sql 解析
- c#中的接口的定議以及接口與抽象类的區別
- 手把手教你用EVO工具评估SLAM数据集TUM、KITTI、EuRoC(附代码)
- C51存储器类型与51单片机的物理区域
- 东风来了的飞鸽传书源码
- 数据库中的DbUtils
- 设计素材|剪纸风新年春节烫金PSD分层模板,牛气!
- python 网络请求框架_python 框架
- ORA-16009: 远程归档日志目标必须为备用数据库
- WebRTC NAT穿透服务器 coturn服务搭建
- Vuforia+Unity实现AR效果
- MQTT服务器的搭建与MQTT客户端的使用
- 计算机管理用房设置要求,党政机关办公用房管理系统解决方案
- JAVA 三个框架结合运用思路_SSM框架的整合与使用——实现简单的转账系统
- 对于Gitlab项目的Developer权限问题 (Guest,Reporter,Developer,Maintainer)
- 企业邮箱品牌哪家好?四大品牌企业邮箱推荐
- 来自华为Mate X的灵魂拷问:怎么贴膜?
- 华为云服务器EulerOS镜像源设置方法