js/javascript 操作字符串【全】(含常用的操作字符串的lodash)

article/2025/3/5 1:01:22

创建字符串 ""

 let str = "字符串的内容"

 特殊符号使用\进行转义

  • \" 表示 "
  • \' 表示 '
  • \n 表示换行
  • \r 表示回车
  • \t 表示制表符
  • \b 表示空格
  • \\ 表示\

还可以使用转义字符输入Unicode编码

console.log('\u2600') 

网页中使用Unicode编码,格式如下:

&#编码;

Unicode编码采用的是16进制,但是,这里的编码需要使用10进制

<h1 style="font-size: 60px;">&#9860;</h1>

 

获取字符串的长度

str.length

获取字符串的存储长度

 英文占一个字符位,其他字符占两个字符位

function getZFWlength(string) {var count = 0;for (var i = 0; i < string.length; i++) {//对每一位字符串进行判断,如果Unicode编码在0-127,计数器+1;否则+2if (string.charCodeAt(i) < 128 && string.charCodeAt(i) >= 0) {count++;} else {count += 2;}}
}

获取字符串的像素长度(显示宽度)

字符串的像素长度,即字符串在页面中的显示宽度,和页面css的 fontSize   fontFamily有关。

计算思路:创建一个用span包裹的字符串标签,其 window.getComputedStyle的计算值 -  offsetWidth 即字符串在页面中的显示宽度

若计算像素高度,原理相同,见注释部分

    // 获取字符串的像素宽度function getPXwidth(str, fontSize = "12px", fontFamily = "Microsoft YaHei") {var span = document.createElement("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 (typeof span.textContent != "undefined") {span.textContent = str;} else {span.innerText = str;}result.width = parseFloat(window.getComputedStyle(span).width) - result.width;// 字符串的显示高度// result.height = parseFloat(window.getComputedStyle(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);
}

字符串拼接 +

    var name = 'smyhvae';var age = '26';console.log('name:'+name+',age:'+age);   //传统写法console.log(`name:${name},age:${age}`);  //ES6 写法

字符串重复 repeat

str.repeat(5) //abcabcabcabcabc

字符串截取

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()

 将字符串中的指定内容,替换为新的内容并返回。不会修改原字符串。

新的字符串 = str.replace(被替换的内容,新的内容);

    //replace()方法:替换var str2 = "Today is fine day,today is fine day !!!"console.log(str2);console.log(str2.replace("today","tomorrow"));  //只能替换第一个todayconsole.log(str2.replace(/today/gi,"tomorrow")); //这里用到了正则,才能替换所有的today

去除字符串前后的空白 trim()

    //去除前后的空格,trim();var str1 = "   a   b   c   ";console.log(str1.trim());

去除字符串头部的空白【使用lodash】

_.trimStart('  abc  ');
// => 'abc  '_.trimStart('-_-abc-_-', '_-');
// => 'abc-_-'

去除字符串尾部的空白【使用lodash】

_.trimEnd('  abc  ');
// => '  abc'_.trimEnd('-_-abc-_-', '_-');
// => '-_-abc'

是否包含指定字符串 includes()

str.includes('a')

是否以指定字符串开头 startsWith ()

str.startsWith('d')

是否以指定字符串结尾 endsWith ()

str.endsWith('g')

字符串转为html

    var str = "你好";console.log(str.anchor())console.log(str.big())console.log(str.sub())console.log(str.sup())console.log(str.link("http://www.baidu.com"));console.log(str.bold())
<a name="undefined">你好</a>
<big>你好</big>
<sub>你好</sub>
<sup>你好</sup>
<a href="http://www.baidu.com">你好</a>

字符串填充

 时间自动补0

var dt = new Date(dateStr)
var hh = dt.getHours().toString().padStart(2, '0')

使用lodash

https://www.lodashjs.com/docs/lodash.pad

_.pad('abc', 8);
// => '  abc   '_.pad('abc', 8, '_-');
// => '_-abc_-_'_.pad('abc', 3);
// => 'abc'

驼峰写法【需lodash】

_.camelCase('Foo Bar');
// => 'fooBar'_.camelCase('--foo-bar--');
// => 'fooBar'_.camelCase('__FOO_BAR__');
// => 'fooBar'

首字母大写【需lodash】

_.capitalize('FRED');
// => 'Fred'

首字母小写【需lodash】

_.lowerFirst('Fred');
// => 'fred'_.lowerFirst('FRED');
// => 'fRED'

全部大写

str.toUpperCase()

全部小写

str.toLowerCase()

以空格分开单词,并转换为小写【需lodash】

_.lowerCase('--Foo-Bar--');
// => 'foo bar'_.lowerCase('fooBar');
// => 'foo bar'_.lowerCase('__FOO_BAR__');
// => 'foo bar'

以空格分开单词,并转换为大写【需lodash】

_.upperCase('--foo-bar');
// => 'FOO BAR'_.upperCase('fooBar');
// => 'FOO BAR'_.upperCase('__foo_bar__');
// => 'FOO BAR'


http://chatgpt.dhexx.cn/article/Qg831qu2.shtml

相关文章

13.JS输出内容和语法

“也许世界上也有五千朵和你一模一样的花&#xff0c;但是你是我独一无二的玫瑰。” ——《小王子》 JS输出内容和语法 1.JS显示内容有哪些方式2.使用window.alert()3.使用document.write()和innerHTML4.使用console.log()5.JavaScript 字面量(1)数字(2)字符串(3)表达式(4)数组…

js每次在输入框中输入时,在控制台输出所输入的字符串的长度(keyup)

js每次在输入框中输入时&#xff0c;在控制台输出所输入的字符串的长度&#xff08;keyup&#xff09;&#xff1a;需要捕捉每一次的键盘释放时的事件&#xff0c;返回输入框的长度 代码如下&#xff1a; html代码&#xff1a; js代码&#xff1a; 结果&#xff1a;

js如何识别出字符串中的回车 \n并输出换行

首先&#xff0c;关于\n,\r,\r\n的区别请看这里 关于/r与/n 以及 /r/n 的区别总结_long for us-CSDN博客 1.字符串中有“↵”符号 像这样的 var str"英雄联协议↵ ↵ 在您向英雄联APP..." 这种只需要正则替换回车符就行了 str str.replace(/↵/g,"<…

js解析excel文件,读取单元格中的值

首先需要引入js包&#xff0c;https://github.com/SheetJS/sheetjs这个是地址 我这里就具体说一下读取单元格值的方法。 方法参考js读取本地Excel内容 这个博主的&#xff0c;但是想要获取具体的一行数据&#xff0c;需要写XLSX.utils.sheet_to_json将表格数据转化为json格式&a…

node.js、js读取excel、操作excel、创建excel之js-xlsx.js

node.js篇 第一步引入包 npm install xlsx -save 第二步使用 var xl require(xlsx); //workbook 对象&#xff0c;指的是整份 Excel 文档。我们在使用 js-xlsx 读取 Excel 文档之后就会获得 workbook 对象。 var workbook xl.readFile("public/temp/标题说明.xlsx&qu…

【js】读取Excel文件(xlsx格式),并用表格(table)展示数据

1、效果 2、下载xlsx.mini.js GitHub上有一个读取Excel文件的项目 https://github.com/SheetJS/sheetjs 因为我只是想要读取xlsx文件&#xff0c;故只下载了项目里的一个xlsx.mini.js文件 3、主要代码 <script type"text/javascript" src"js/xlsx.mini.js…

前端使用xlsx.core.min.js读取excel内容

导入Excel格式 引用xlsx.core.min.js <script src"~/Scripts/xlsx.core.min.js"></script>HTML代码 <input typebutton onclickDR(this) value导入 /> <input typefile idfile onchangeimportf(this) hidden />JS代码 //导入 function DR…

纯js读取excel文件内容,支持所有刘浏览器

js如何将读取excel文件内容 template.html <html> <head> <meta http-equiv"Content-Type" content"text/html; charsetUTF-8"> <title>JS-XLSX Live Demo</title> <link href"../css/bootstrap.min.css" rel…

【Js】前端使用xlsx.full.min.js读取和导出excel表格数据

文章目录 简介使用js-xlsx的xlsx.full.min.js读取导出 来源 简介 由SheetJS出品的js-xlsx是一款非常方便的只需要纯JS即可读取和导出excel的工具库&#xff0c;功能强大&#xff0c;支持格式众多&#xff0c;支持xls、xlsx、ods(一种OpenOffice专有表格文件格式)等十几种格式。…

Vue使用js读取Excel数据

JS读取Excel数据 为什么要导入Excel数据&#xff0c;在所有的系统中几乎都会涉及到添加数据功能&#xff0c;添加数据有两种方法&#xff0c;第一种就是手动输入&#xff0c;一次只能输入一条数据。另一种就是通过导入excel文件实现多条数据的添加。 接下来我们就通过一个例子…

前端js读取excel工作表格数据

首先 需要两个js文件 jquery.min.js 线上地址 https://cdn.bootcss.com/jquery/3.2.1/jquery.js xlsx.core.min.js 线上地址 https://cdn.bootcss.com/xlsx/0.11.5/xlsx.core.min.js 还是建议弄到本地&#xff0c;因为如果线上地址发生变化就出问题了&#xff0c;搞到本地可以保…

使用xlsx.full.min.js读取excel表格数据

话不多说&#xff0c;直接上图 excel 数据是这样的 结果是这样的 代码如下&#xff0c;需要引入xlsx.full.min.js 下载地址 <!doctype html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport"cont…

js读取excel,xlsx,xls 表格,转成JSON数据

js读取excel,xlsx,xls 表格&#xff0c;转成JSON数据 使用 js-xlsx 插件&#xff1a;https://github.com/SheetJS/js-xlsx转为JSON数据后的效果图 欢迎参考 使用 js-xlsx 插件&#xff1a;https://github.com/SheetJS/js-xlsx HTML内容 创建input type为file 文件上传格式 绑…

JavaScript 技术篇 - js读取Excel文档里的内容实例演示,js如何读取excel指定单元格的内容,js将excel的内容转化为json字符串方法

JavaScript 读取 Excel 文档里的内容实例演示 第一章&#xff1a;准备① 下载 xlsx.full.min.js 支持包第二章&#xff1a;功能实现与使用演示① 实现代码② 使用效果演示③ 获取指定单元格的内容④ 将读取的 Excel 内容转化为 json 字符串 第一章&#xff1a;准备 ① 下载 xl…

JavaScript怎样读取本地Excel文件

在浏览器中&#xff0c;使用JavaScript读取本地文件内容&#xff0c;支持Excel表格(.xls、.xlsx)和文本文件(.txt)两种格式。 首先创建一个Excel表格&#xff0c;其中第一行为字段名。 在浏览器的项目管理器中&#xff0c;创建自定义变量步骤&#xff0c;并依次添加姓名…

如何使用JavaScript实现纯前端读取和导出excel文件

js-xlsx 介绍 由SheetJS出品的js-xlsx是一款非常方便的只需要纯JS即可读取和导出excel的工具库&#xff0c;功能强大&#xff0c;支持格式众多&#xff0c;支持xls、xlsx、ods(一种OpenOffice专有表格文件格式)等十几种格式。本文全部都是以xlsx格式为例。 官方github&#x…

使用JavaScript实现纯前端读取excel文件并与后台进行交互

下载SheetJS文件 GitHub下载地址&#xff1a;https://github.com/SheetJS/sheetjs 下载之后打开其中的dist文件目录&#xff0c;能看到其中有xlsx.core.min.js和xlsx.full.min.js两个JS文件&#xff0c;使用其中一个文件就行&#xff0c;一般情况下使用xlsx.core.min.js就可以…

学习写需求分析

笔者本身是软件工程专业出身&#xff0c;但是对如何写需求分析仍然是一知半解&#xff0c;拿到需求&#xff0c;仍然不知道如何下手&#xff0c;才能达到写需求分析的目的。 今天看到一篇文章&#xff0c;让我受益良多&#xff0c;同时参考此文&#xff0c;笔者也尝试写了一个…

Java Web 课程设计需求分析文档

企业办公软件管理需求分析 一、引言 1.1编写目的 软件需求分析是为了使用户和软件开发人员双方对该软件的初始规定有一个共同的理解,使之成为整个软件开发工作的基础.就本项目而言&#xff0c;编写需求分析报告的主要目的是明确系统各部分需要完成的功能&#xff0c;了解系统…

易语言游戏辅助开发原理分析

外挂现在大体上来讲分为三种&#xff0c;分别是模拟按键&#xff0c;WPE封包和内存挂。比如模拟键盘的&#xff0c;鼠标的&#xff0c;这种就叫做按键模拟&#xff0c;也叫脚本精灵&#xff1b;还有修改数据包的&#xff0c;这种就叫做WPE封包外挂&#xff0c;这种外挂相对而言…