jsjavascript操作字符串【全】(含常⽤的操作字符串的
lodash)
创建字符串 ""
let str = "字符串的内容"
特殊符号使⽤\进⾏转义
\" 表⽰ "
\' 表⽰ '
\n 表⽰换⾏
\r 表⽰回车
\t 表⽰制表符
\b 表⽰空格
\\ 表⽰\
还可以使⽤转义字符输⼊Unicode编码
console.log('\u2600')
⽹页中使⽤Unicode编码,格式如下:
&#编码;
Unicode编码采⽤的是16进制,但是,这⾥的编码需要使⽤10进制
<h1 >⚄</h1>
获取字符串的长度
str.length
获取字符串的存储长度
英⽂占⼀个字符位,其他字符占两个字符位
function getZFWlength(string) {
var count = 0;
for (var i = 0; i < string.length; i++) {
//对每⼀位字符串进⾏判断,如果Unicode编码在0-127,计数器+1;否则+2
if (string.charCodeAt(i) < 128 && string.charCodeAt(i) >= 0) {
count++;
} else {
count += 2;
}
}
}
获取字符串的像素长度(显⽰宽度)
字符串的像素长度,即字符串在页⾯中的显⽰宽度,和页⾯css的 fontSize fontFamily有关。
计算思路:创建⼀个⽤span包裹的字符串标签,其 ComputedStyle的计算值 - offsetWidth 即字符串在页⾯中的显⽰宽度若计算像素⾼度,原理相同,见注释部分
// 获取字符串的像素宽度
function getPXwidth(str, fontSize = "12px", fontFamily = "Microsoft YaHei") {
var span = ateElement("span");
var result = {};
result.width = span.offsetWidth;
result.height = span.offsetHeight;
span.style.visibility = "hidden";
span.style.fontSize = fontSize;
span.style.fontFamily = fontFamily;
span.style.display = "inline-block";
document.body.appendChild(span);
if (Content != "undefined") {
} else {
span.innerText = str;
}
result.width = ComputedStyle(span).width) - result.width;
/
/ 字符串的显⽰⾼度
// result.height = ComputedStyle(span).height) - result.height;
return result.width;
}
Unicode 编码转字符
let result1 = String.fromCharCode(72); // H
获取字符在字符串中的下标
索引值 = str.indexOf(想要查询的字符,查询的起始位置);
indexOf() 从前向后查
lastIndexOf()从后向前查
若字符串含有⽬标字符,返回其第⼀次出现的下标;如果没有到则返回 -1,可⽤于判断字符串是否包含⽬标字符。获取指定位置字符 [] 或 charAt()
str[index] // 如 str[0]
// 或
字符 = str.charAt(index);
字符串中第⼀个字符的下标是 0。如果参数 index 不在 [0, string.length) 之间,该⽅法将返回⼀个空字符串。
遍历字符串
for(let char of string){
console.log("字符:"+char);
}
indexof的用法javascript字符串拼接 +
var name = 'smyhvae';
var age = '26';
console.log('name:'+name+',age:'+age); //传统写法
console.log(`name:${name},age:${age}`); //ES6 写法
字符串重复 repeat
字符串截取
slice【推荐】
字符串 = str.slice(开始索引, 结束索引); //两个参数都是索引值。包左不包右。
(2, 5) 截取时,包左不包右。
(2) 表⽰从指定的索引位置开始,截取到最后。
(-3) 表⽰从倒数第⼏个开始,截取到最后。
(1, -1) 表⽰从第2个截取到倒数第⼀个。
(5, 2) 表⽰前⾯的⼤,后⾯的⼩,返回值为空。
substring
字符串 = str.substring(开始索引, 结束索引); //两个参数都是索引值。包左不包右。
substring()不能接受负值作为参数。如果传递了⼀个负值,则默认使⽤0。
substring()还会⾃动调整参数的位置,如果第⼆个参数⼩于第⼀个,则⾃动交换。⽐如说, substring(1, 0)截取的是第⼀个字符。substr【不推荐】
ECMAscript 没有对 substr() ⽅法进⾏标准化,因此不建议使⽤它。
字符串 = str.substr(开始索引, 截取的长度);
(2,4):从索引值为2的字符开始,截取4个字符。
(1):从指定位置开始,截取到最后。
(-3):从倒数第⼏个开始,剪到最后.
不包括前⼤后⼩的情况。
字符串拆分为数组 split
var str = "qian, gu, yi, hao"; // ⽤逗号隔开的字符串
var array = str.split(","); // 将字符串 str 拆分成数组,通过逗号来拆分
console.log(array); // 打印结果是数组:["qian", " gu", " yi", " hao"]
//split()⽅法:字符串变数组
var str3 = "⼤地|许嵩|smyhvae";
console.log(str3.split()); // ⽆参数,表⽰:把字符串作为⼀个元素添加到数组中。
console.log(str3.split("")); //参数为空字符串,则表⽰:分隔字符串中每⼀个字符,分别添加到数组中
console.log(str3.split("|")); //参数为指定字符,表⽰:此字符将不会出现在数组的任意⼀个元素中
拆分字符串中的词为数组【需lodash】
_.words('fred, barney, & pebbles');
/
/ => ['fred', 'barney', 'pebbles']
_.words('fred, barney, & pebbles', /[^, ]+/g);
// => ['fred', 'barney', '&', 'pebbles']
字符串替换 replace()
将字符串中的指定内容,替换为新的内容并返回。不会修改原字符串。
新的字符串 = place(被替换的内容,新的内容);
//replace()⽅法:替换
var str2 = "Today is fine day,today is fine day "
console.log(str2);
console.place("today","tomorrow")); //只能替换第⼀个today
console.place(/today/gi,"tomorrow")); //这⾥⽤到了正则,才能替换所有的today
去除字符串前后的空⽩ trim()
//去除前后的空格,trim();
var str1 = " a b c ";
console.im());
去除字符串头部的空⽩【使⽤lodash】
_.trimStart(' abc ');
// => 'abc '
_.trimStart('-_-abc-_-', '_-');
// => 'abc-_-'
去除字符串尾部的空⽩【使⽤lodash】
_.trimEnd(' abc ');
/
/ => ' abc'
_.trimEnd('-_-abc-_-', '_-');
// => '-_-abc'
是否包含指定字符串 includes()
str.includes('a')
是否以指定字符串开头 startsWith () str.startsWith('d')
是否以指定字符串结尾 endsWith () dsWith('g')
字符串转为html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论