关闭

javascript对字符串的操作

标签: 字符串javascript
79人阅读 评论(0) 收藏 举报

javascript对字符串的操作

1.字符串转化-toString()将数字转化为字符串

var num=19;
var mystr=num.toString();//"19"

2.字符串分割-split()将字符串分割为数组,第二个参数表示字符串数组返回的最大长度

var mystr="l,love,you,Do,you,love,me"
var substr=mystr.split(",");//[l,love,you,Do,you,love,me];
var arrayLimited=mystr.split(",",3);[l,love,you];

3.获取字符串长度-length()

var mystr="l,love,you,Do,you,love,me"var mystrLength=mystr.length();//25

4.查询子字符串-indexOf() 从字符传的开头开始查找,找到对应的坐标,找不到返回-1

          -lastIndexOf()从字符串的末尾开始查找,找到对应的坐标,找不到返回-1
          可以接收第二个参数,表示开始查找的位置
var mystr="l,love,you,Do,you,love,me"var index=mystr.indexOf("you");//7,基于0开始查找,找不到返回-1
var lastindx=mystr.lastIndexOf("you");//14

5.字符串替换-replace()默认只替换第一次查找到的,想要全局替换,需要置上正则全局标识

var mystr=var mystr="l,love,you,Do,you,love,me";
var replaceStr=mystr.replace("love","hate");//"l,hate,you,Do,you,love,me";
var goreplaceStr=mystr.replace(/love/g,"hate");//"l,hate,you,Do,you,hate,me";

6.查找给定字符或其字符编码值-charAt:字符,charCodeAt:编码值

var mystr="l,love,you,Do,you,love,me";
var char=mystr.charAt(8);//"o";从0开始
var charCode=mystr.charCodeAt(8);//111

7.字符串连接-contact()可以多个参数,拼接多个字符串

var str1="l,love,you";var str="Do,you,love,me!";
var str=str1.contact(str2);

8.字符串切割和提取-slice(),substring(),substr()三者之间的区别

slice():
var mystr="l,love,you,Do,you,love,me";
var sliceStr=mystr.slice(1,5);//从0开始,",lov"
substring():
var mystr="l,love,you,Do,you,love,me";
var substr=mystr.substring(1,5);//",lov"
substr();

9.字符串大小写转换-toLoowerCase():转换为小写 toUpperCase():转化为大写

var myStr = "I,love,you,Do,you,love,me";
var lowCaseStr = myStr.toLowerCase();//"i,love,you,do,you,love,me";
var upCaseStr = myStr.toUpperCase();//"I,LOVE,YOU,DO,YOU,LOVE,ME"

10.字符串匹配-match()和exec(),匹配失败则返回null;search(),失败返回-1

match().接受一个正则的参数
var myStr = "I,love,you,Do,you,love,me";
var pattern="/love/";
var result=mystr.match(pattern);//["love"];
exec():字符串和字符调换了位置
var myStr = "I,love,you,Do,you,love,me";
var pattern="/love/";
var result=pattern.exec(pattern);
search();匹配到下标
var myStr = "I,love,you,Do,you,love,me";
var pattern = /love/;
var result = myStr.search(pattern);//2

一些常见的面试题:

1.题目:写一个getSuffix函数,用于获得输入参数的后缀名,例如输入abcd.txt,返回txt

function getSuffix(str){
return str.substring(str.lastIndexOf('.')+1);
}
2.查找字符串中出现最多的字符和个数
var str = "nininihaoa";
var o = {};
for (var i = 0, length = str.length; i < length; i++) {
var char = str.charAt(i);
if (o[char]) {
o[char]++; //次数加1
} else {
o[char] = 1; //若第一次出现,次数记为1
}
}

console.log(o); //输出的是完整的对象,记录着每一个字符及其出现的次数

//遍历对象,找到出现次数最多的字符的次数
var max = 0;
for (var key in o) {
if (max < o[key]) {
max = o[key]; //max始终储存次数最大的那个
}
}
for (var key in o) {
if (o[key] == max) {
//console.log(key);
console.log("最多的字符是" + key);
console.log("出现的次数是" + max);
}
}

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:121次
    • 积分:4
    • 等级:
    • 排名:千里之外
    • 原创:0篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档