失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > javascript-字符串函数-指定位置字符-位置查找-字符串替换-字符串分割

javascript-字符串函数-指定位置字符-位置查找-字符串替换-字符串分割

时间:2023-03-01 21:11:39

相关推荐

javascript-字符串函数-指定位置字符-位置查找-字符串替换-字符串分割

文章目录

1.指定位置字符2.位置查找3.截取子字符串3.1.substring函数3.2.slice函数3.3.substr函数3.4.分割总结4.字符串替换5.字符串分割5.1.通过单一字符将字符串切割成多字符5.2.通过多字符将字符串切割成多字符串5.3.通过字符串将字符串切割成多字符串6.文件和文件夹6.1.分割文件名7.字符串转数字7.1.转整数7.2.转浮点数7.3.转数字8.数字转字符串8.1.直接转字符串8.2.保留小数位转字符串

1.指定位置字符

charAt()方法可返回指定位置的字符。charcodeAt() 方法可返回指定位置的字符的 Unicode 编码。

var str = "返回指定位置的字符";var str1 = str.charAt(3);var str2 = str.charCodeAt(3);console.log("返回字符为:"+str1+" 编码:"+ str2);

结果为:返回字符为:定 编码:23450

2.位置查找

indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。lastindexof() 从后往前找首次出现的位置。可以用start参数指定初始位置。

string.indexOf(searchvalue,start)

string.lastIndexOf(searchvalue,start)

var str = "heloworld"var str1 = str.indexOf("l");console.log("通过indexOf()查找指定字符串第一次出现的位置的下标:"+str1)var str1 = str.indexOf("l",3);console.log("通过indexOf()查找指定字符串规定字符串查找位置的开始地点,返回出现的位置的下标:"+str1)var str1 = str.indexOf("L");console.log("通过indexOf()查找指定字符串如果字符串不存在,返回-1:"+str1)

结果

通过indexOf()查找指定字符串第一次出现的位置的下标:2

通过indexOf()查找指定字符串规定字符串查找位置的开始地点,返回出现的位置的下标:7

通过indexOf()查找指定字符串如果字符串不存在,返回-1:-1

3.截取子字符串

3.1.substring函数

substring() 方法用于提取字符串中介于两个指定下标之间的字符。substring() 方法返回的子串包括开始处的字符,但不包括结束处的字符。

string.substring(from, to)

var str="Hello world!";console.log(str.substring(3));console.log(str.substring(3,7));

结果

lo world!

lo w

3.2.slice函数

它从start开始,到end结束,开始的位置从0不是1,不包括end,支持数组分割,支持负数,返回数组。

slice(start, end)

var test = 'hello world!'console.log(test.length)console.log(test.slice(1, 9))console.log(test.slice(6))console.log(test.slice(9, 1))console.log(test.slice(-2))console.log(test.slice(0, -2))console.log(test.slice(-4, -2))console.log(test.slice(-2, 4))

①第一个参数比第二个参数大,结果返回空字符串

②传入参数是负数,slice()会先做运算 test.length + 负数参数。

3.3.substr函数

它从start开始,返回length长度字符,开始的位置从0不是1,支持负数,不支持数组。

substr(start, length)

var test = 'hello world!'console.log(test.length)console.log(test.substr(1, 9))console.log(test.substr(6))console.log(test.substr(9, 9))console.log(test.substr(20))console.log(test.substr(-2))console.log(test.substr(-8, 4))console.log(test.substr(-8, 0))console.log(test.substr(-8, -4))console.log(test.substr(-20))

①传入参数超过length返回空字符串

②传入负数,则从字符串的尾部开始算起始位置,-1指最后一个字符,-2指倒数第二个字符;当传入的第一个参数是负数且它的绝对值超过length,这个负数转化为0,当传入的第二个参数是负数,等价于0,截取0个字符,返回空字符串。

3.4.分割总结

js字符串截取三函数,都不会对原始的字符串进行修改,而是返回新的子集。但是三函数各自有各自的个性,面对同一种参数处理的方式都是不一样的。

4.字符串替换

常规的替换只会替换第一次匹配的字符,正则可替换全部。

str.replace(“需要替换的字符串”,“新字符串”)

str.replace(/需要替换的字符串/g,“新字符串”)

const data = 'asdadadasd';var newData = data.replace('a', 'new');//这里是将data里的第一个a替换成new,输出为 newsdadasdvar newData = data.replace(/a/g, 'new')//全局替换//全局替换,输出为:newsdnewdnewdnewsd

5.字符串分割

split() 方法用于把一个字符串分割成字符串数组。separator意识是分隔器,limit分割数组最大长度。

string.split(separator,limit)

5.1.通过单一字符将字符串切割成多字符

var data= “烈日当头已数月有余,天气高温,汗流浃背,不知所言。”;

var str = data.split(‘,’);

结果:

str[0] //烈日当头已数月有余

str[1] //天气高温

str[2] //汗流浃背

str[3] //不知所言。

5.2.通过多字符将字符串切割成多字符串

var data= “外面在下雨,天气真冷,你现在到哪里了呀,我们待会一起吃饭吧。”;

var str = data.split(/在,/);

结果:

str[0] //外面

str[1] //下雨

str[2] //天气真冷

str[3] //你现

str[4] //到哪里了呀

str[5] //我们待会一起吃饭吧。

5.3.通过字符串将字符串切割成多字符串

var data = “abbcaaflajbbcafdfbbcioerfadef”;

var str = data.split(‘bbc’);

结果:

str[0] //a

str[1] //aaflaj

str[2] //afdf

str[3] //ioerfadef

6.文件和文件夹

6.1.分割文件名

//分割文件名function SplitFullFilename(fullFilename) {var dstfullFilename = fullFilename.replace(/\\/g, '/');var dotpos = dstfullFilename.lastIndexOf('.');if (dotpos == -1) {return null;} else {var ext = dstfullFilename.substring(dotpos + 1);var pathAndName = dstfullFilename.substring(0, dotpos);var spos = pathAndName.lastIndexOf('/');var path = pathAndName.substring(0, spos);var filenamenoext = pathAndName.substring(spos + 1);var rlt = [path, filenamenoext, ext];return rlt}}

7.字符串转数字

7.1.转整数

parseInt()将字符串转为整数。

//对二进制、八进制,甚至十进制(默认模式),都可以这样调用parseInt()方法: parseInt("10", 2); //returns 2 parseInt("10", 8); //returns 8 parseInt("10", 10); //returns 10

7.2.转浮点数

parseFloat("22.5"); //returns 22.5

7.3.转数字

Number(value):把给定的值转换成数字(可以是整数或浮点数);

Number(false) 0 Number(true) 1 Number(undefined) NaN Number(null) 0 Number( "5.5 ") 5.5 Number( "56 ") 56 Number( "5.6.7 ") NaN Number(new Object()) NaN Number(100) 100

8.数字转字符串

8.1.直接转字符串

String(value):把给定的值转换成字符串。

8.2.保留小数位转字符串

方法一:

var num =2.446242342; num = num.toFixed(2); console.log(num); //2.45console.log(typeof num); // string

方法二:

var num =2.446242342; num = Math.floor(num * 100) / 100;console.log(num); //2.44console.log(typeof num); // number

方法三:

var num =2.446242342; num = Number(num.toString().match(/^\d+(?:\.\d{0,2})?/));console.log(num); //2.44console.log(typeof num); // number

方法四:如果小数点后长度不够,用零补齐

function toDecimal2(x) {//转数值var f = parseFloat(x);if (isNaN(f)) {return false;}//保留两位var f = Math.round(x * 100) / 100;var s = f.toString();var rs = s.indexOf('.');if (rs < 0) {rs = s.length;s += '.';}while (s.length <= rs + 2) {s += '0';}return s;}console.log(toDecimal2(3.1)); // 3.10console.log(typeof toDecimal2(3.1415926)); //string

如果觉得《javascript-字符串函数-指定位置字符-位置查找-字符串替换-字符串分割》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。