17.js字符串
字符串创建
1.字面量创建
var 字符串名=字符串
2.内部构造函数创建
var 字符串名=new String('字符串')
length属性
只能读取不能设置
var str='abcdfegfgl'console.log(str.length) //10str.length=5 console.log(str) //不能写 abcdfegfgl
index属性
只能读不能设置
var str='abcdfegfgl'console.log(str[1]) //bstr[1]="A"console.log(str) //不能写 abcdfegfgl
字符串常用方法
charAt()
语法:字符串名.cartAt(索引值)-----索引值默认为0
作用:获取对应索引位置的字符
返回值:返回索引对应的值,没有则返回空字符串
var str='abcdfegabc'console.log(str.charAt(2)) //aconsole.log(str.charAt(2)) //cconsole.log(str.charAt(12)) //""charCodeAt()
语法:字符串名.charCodeAt(索引值)-----索引值默认为0
作用:将对应索引位置的字符转为unicode编码
返回值:返回转好的编码,没有则返回NaN
var str='abcdfegabc'console.log(str.charCodeAt()) //97console.log(str.charCodeAt(2)) //99console.log(str.charCodeAt(12)) //NaNtoUpperCase()
语法:字符串名.str.toUpperCase()
作用:将所有字符转为大写
返回值:返回转好的字符
toLowerCase()
语法:字符串名.str.toUpperCase()
作用:将所有字符转为小写
返回值:返回转好的字符
var str='AbcdFegabc'console.log(str.toUpperCase()) //ABCDFEGABCconsole.log(str.toLowerCase()) //abcdfegabcsubstr()
语法:字符串名.substr(开始索引,截取个数)
作用:截取字符串
返回值:返回截取的字符串
var str='AbcdFegabc'//都不写则截取整个字符串console.log(str.substr()) //AbcdFegabc//只写开始索引表示从开始索引到字符串末尾console.log(str.substr(3)) //dFegabc//都写表示从开始索引截取几个字符console.log(str.substr(1,3)) //bcdsubstring()
语法:字符串名.substring(开始索引,结束索引)
——包含开始索引的值,不包含结束索引的值
作用:截取字符串
返回值:返回截取的字符串
var str='AbcdFegabc'console.log(str.substring()) //AbcdFegabcconsole.log(str.substring(3)) //dFegabcconsole.log(str.substring(1,3)) //bcconsole.log(str.substring(-2,3)) //Abcslice()
语法:字符串名.slice(开始索引,结束索引)或 字符串名.slice(负的开始索引)
——包含开始索引的值,不包含结束索引的值
作用:截取字符串
返回值:返回截取的字符串
var str='AbcdFegxyz'console.log(str.slice()) //AbcdFegxyzconsole.log(str.slice(3)) //dFegxyzconsole.log(str.slice(1,3)) //bc//和substring的区别,当索引为负值//substring还是截取整个字符串//slice表示从倒数第几个开始截取console.log(str.substring(-2)) //AbcdFegxyzconsole.log(str.slice(-3)) //xyzsplit()
语法:字符串.split(分隔符,前几个数组)
作用:按照分隔符将字符串分割
返回值:返回分割好的数组
var str1='AbcdFegxyz'console.log(str1.split("")) //['A', 'b', 'c', 'd', 'F', 'e', 'g', 'x', 'y', 'z']var str2='AbcdFegxyz'console.log(str2.split()) //['AbcdFegxyz']var str3='Ab cd Fe gx yz'console.log(str3.split()) //['Ab cd Fe gx yz']var str4='Ab|cdFegxyz'console.log(str4.split("|")) //['Ab', 'cdFegxyz'] var str5='Ab|cdFegxyz'console.log(str5.split("|",1)) //['Ab']concat()
语法:字符串.concat('字符串')
作用:拼接字符串
返回值:拼接好的字符串
var str='Ab'console.log(str.concat("拼接的")) //Ab拼接的indexOf()
语法:字符串.indexOf('字符')
作用:按照从前向后的顺序查找字符串的索引
返回值:有返回索引值,没有返回-1
var str='AbcDeF AgHiJkLmN'console.log(str.indexOf('A')) //0console.log(str.indexOf(' ')) //6console.log(str.indexOf(1)) //-1lastIndexOf()
语法:字符串.lastIndexOf('字符')
作用:按照从后向前的顺序查找字符串的索引
返回值:有返回对应的索引值,没有返回-1
var str='AbcDeF AgHiJk LmN'console.log(str.lastIndexOf('A')) //7console.log(str.lastIndexOf(' ')) //13console.log(str.lastIndexOf(1)) //-1includes()
语法:字符串.includes('字符')
作用:判断字符串中是否含有某字符
返回值:true/false
var str='AbcDeF AgHiJk LmN'console.log(str.includes("Abc")) //trueconsole.log(str.includes("ABC")) //falsetrim()
语法:字符串.trim()
作用:去除字符串前后空格
返回值:返回去除空格后的字符串
trimStart()/trimLeft()
语法:字符串.trimStart() / 字符串.trimLeft()
作用:去除字符串开始位置的空格
返回值:返回去除空格后的字符串
trimEnd()/trimRight()
语法:字符串.trimEnd() / 字符串.trimRight()
作用:去除字符串结束位置的空格
返回值:返回去除空格后的字符串
var str=' AbcDeF AgHiJk LmN 'console.log('----'+str.trim()+'----') //----AbcDeF AgHiJk LmN----console.log('----'+str.trimStart()+'----') //----AbcDeF AgHiJk LmN ----console.log('----'+str.trimLeft()+'----') //----AbcDeF AgHiJk LmN ----console.log('----'+str.trimEnd()+'----') //---- AbcDeF AgHiJk LmN----console.log('----'+str.trimRight()+'----') //---- AbcDeF AgHiJk LmN----replace()
语法:字符串.replace('要换下的字符','要换上的字符')
作用:将字符串内第一个满足换下字符的片段替换成换上的字符
返回值:替换好的字符串
var str='13849328493'console.log(str.replace('3','A')) //1A849328493
查询字符串
类似于:'key = value& key1 = value1&key2 = value2'
练习:
将查询字符串转为对象
var str='name=zhangsan&age=13&sex=男'var arr=str.split('&') //arr=['name=zhangsan', 'age=13', 'sex=男']var strObj={}arr.forEach(function(item){ //对arr进行遍历strObj[item.split('=')[0]]= item.split('=')[1]})console.log(strObj) //{name: 'zhangsan', age: '13', sex: '男'}
json格式字符串
类似于:{ "username ": "tom" ,"age":18}
js对象:{ username: "tom" ,age:18}
json转js
JSON.parse()
js转json
JSON.stringify()
console.log(JSON.parse('{"username":"tom","age":18}')) //{username: 'tom', age: 18}console.log(JSON.stringify({ username: "tom" ,age:18})) //{"username":"tom","age":18}
相关文章:
17.js字符串
字符串创建 1.字面量创建 var 字符串名字符串 2.内部构造函数创建 var 字符串名new String(字符串) length属性 只能读取不能设置 var strabcdfegfglconsole.log(str.length) //10str.length5 console.log(str) //不能写 abcdfegfgl index属性 只能读不能设置 var strab…...
JS-51-Node.js10-yarn
一、yarn的简介 Yarn 是一款 JavaScript 的包管理工具(npm的代替方案),是 Facebook, Google, Exponent 和 Tilde 开发的一款新的 JavaScript 包管理工具。 正如 Yarn 官网的介绍,Yarn 的具有速度快 、安全 、可靠 的优点&#x…...
idea项目一直在build
IDEA项目一直在build的原因可能包括构建进程堆大小过小、缓存问题、依赖包下载缓慢或网络问题。12 构建进程堆大小过小:如果IDEA的构建进程堆大小设置得不够大,可能会导致构建过程缓慢或卡顿。解决方法是将构建进程堆大小参数扩大,例如将700…...
SpringBoot六种API请求参数读取方式
SpringBoot六种API请求参数读取方式 同步请求和异步请求 同步: 指单线程依次做几件事异步: 指多线程同时做几件事 同步请求: 指客户端浏览器只有一个主线程, 此线程负责页面的渲染和发出请求等操作, 如果此主线程发出请求的话则停止渲染而且会清空页面显示的内容 直到服务器响…...
WSDM2024推荐系统和LLM相关论文整理(二)
WSDM 2024接收的论文已经公布,全部收录的论文可前往地址 网址:https://www.wsdm-conference.org/2024/accepted-papers/ 其中推荐系统相关论文三十余篇,下文列举了部分论文的标题以及摘要,更多内容欢迎关注公众号【深度学习推荐算…...
Mybatis 查询TypeHandler使用,转译查询数据(逗号分隔转List)
创建自定义的Hanndler /*** Package: com.datalyg.common.core.handler* ClassName: CommaSeparatedStringTypeHandler* Author: dujiayu* Description: 用于mybatis 解析逗号拼接字符串* Date: 2024/5/29 10:03* Version: 1.0*/ public class CommaSeparatedStringTypeHandle…...
易查分小程序|如何开启个人密钥功能?
一般情况下发布查询,用姓名和手机尾号等作为查询条件就足够了,如果查询需要的私密性要求很高,可以使用易查分的【个人密钥】功能,下面就来教大家如何制作吧。 🔑个人密钥功能的特点: ✅学生家长可以自主修…...
NoSQL是什么?NoSQL数据库存在SQL注入攻击?
一、NoSQL是什么? NoSQL(Not Only SQL)是一种非关系型数据库的概念。与传统的关系型数据库不同,NoSQL数据库使用不同的数据模型来存储和检索数据。NOSQL数据库通常更适合处理大规模的非结构化和半结构化数据,且能够…...
成功解决“ImportError: cannot import name ‘mapping‘ from ‘collections‘”错误的全面指南
成功解决“ImportError: cannot import name ‘mapping’ from ‘collections’”错误的全面指南 成功解决“ImportError: cannot import name ‘mapping’ from ‘collections’”错误的全面指南 一、引言 在Python编程中,当我们尝试从某个模块中导入某个名称时&…...
apexcharts数据可视化之圆环柱状图
apexcharts数据可视化之圆环柱状图 有完整配套的Python后端代码。 本教程主要会介绍如下图形绘制方式: 基础圆环柱状图多组数据圆环柱状图图片背景自定义角度渐变半个圆环图虚线圆环图 基础圆环图 import ApexChart from react-apexcharts;export function Cir…...
2024ciscn初赛——easycms
什么是CMS? CMS是“Content Management System”的缩写,意为“内容管理系统”。网站的开发者为了方便,制作了不同种类的CMS,可以加快网站开发的速度和减少开发的成本。 常见的CMS: php类cms系统:dedecms、…...
融合神话传说:构建公共开放平台的技术探索
当今科技发展日新月异的时代,我们越来越意识到跨文化的融合和开放共享的重要性。在这篇博客中,我们将探讨如何利用国外与国内古代神兽和神话故事的灵感,来设计一个创新的公共开放平台。 源自神话的灵感 古代神兽在不同文化中都扮演着重要角色…...
鸿蒙应用Stage模型【应用/组件级配置】
应用/组件级配置 在开发应用时,需要配置应用的一些标签,例如应用的包名、图标等标识特征的属性。本文描述了在开发应用需要配置的一些关键标签。 应用包名配置 应用需要在工程的AppScope目录下的[app.json5配置文件]中配置bundleName标签,…...
Python魔法之旅-魔法方法(05)
目录 一、概述 1、定义 2、作用 二、应用场景 1、构造和析构 2、操作符重载 3、字符串和表示 4、容器管理 5、可调用对象 6、上下文管理 7、属性访问和描述符 8、迭代器和生成器 9、数值类型 10、复制和序列化 11、自定义元类行为 12、自定义类行为 13、类型检…...
机器学习笔记(1):sklearn是个啥?
sklearn 简介 Sklearn是一个基于Python语言的开源机器学习库。全称Scikit-Learn,是建立在诸如NumPy、SciPy和matplotlib等其他Python库之上,为用户提供了一系列高质量的机器学习算法,其典型特点有: 简单有效的工具进行预测数据分…...
C++与C语言 通过指针改变const变量的值
一、问题描述 当一个变量声明为const时,通常是不可以改变它的值的,程序设计过程中也不应该这么做。 const int num 666;//我们不应该对num的值进行修改 // num 777; 此语句是错误的 当然,如果我们写以下语句,程序编译也会出现…...
OpenJDK优化技术之标量替换(Scalar Replacement)
标量替换 (SR) 是 OpenJDK 中一项强大的优化技术,旨在通过将复杂对象分解为更简单、更易于管理的标量变量来提高 Java 应用程序的性能。 1.前言 OpenJDK JVM 有两个即时编译器,C1 和 C2。C2 是一种应用许多优化来生成非常高效的编译版本程序的编译器。…...
优思学院|研发工程师获取六西格玛证书有用吗?
在现代的工业领域中,研发工程师不仅需要具备强大的技术能力,还需要掌握有效的管理方法,以确保产品的高质量和高效开发。六西格玛(Six Sigma)作为一种系统的质量管理方法,已经被广泛应用于各种行业。对于研发…...
C++第二十二弹---vector深度剖析及模拟实现(下)
✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】【C详解】 目录 1、容量操作 2、内容修改操作 3、打印函数 4、迭代器失效 4.1、什么是迭代器失效 4.2、哪些操作会引起迭代器失效 总结 1、容量操作 size()…...
GD32F470+lwip 丢包问题分析及解决
最近在用GD32和管理机之间用TCP协议开发一个功能,功能都没问题,后面跑大量发包时候的连续测试时,总是会出现偶发性的,大概几分钟到数十分钟的一次丢包。尽管在应用层做了超时机制,一旦超时就会重新建立socket链接并重新…...
【JavaEE】-- HTTP
1. HTTP是什么? HTTP(全称为"超文本传输协议")是一种应用非常广泛的应用层协议,HTTP是基于TCP协议的一种应用层协议。 应用层协议:是计算机网络协议栈中最高层的协议,它定义了运行在不同主机上…...
23-Oracle 23 ai 区块链表(Blockchain Table)
小伙伴有没有在金融强合规的领域中遇见,必须要保持数据不可变,管理员都无法修改和留痕的要求。比如医疗的电子病历中,影像检查检验结果不可篡改行的,药品追溯过程中数据只可插入无法删除的特性需求;登录日志、修改日志…...
Java - Mysql数据类型对应
Mysql数据类型java数据类型备注整型INT/INTEGERint / java.lang.Integer–BIGINTlong/java.lang.Long–––浮点型FLOATfloat/java.lang.FloatDOUBLEdouble/java.lang.Double–DECIMAL/NUMERICjava.math.BigDecimal字符串型CHARjava.lang.String固定长度字符串VARCHARjava.lang…...
华为OD机试-食堂供餐-二分法
import java.util.Arrays; import java.util.Scanner;public class DemoTest3 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseint a in.nextIn…...
06 Deep learning神经网络编程基础 激活函数 --吴恩达
深度学习激活函数详解 一、核心作用 引入非线性:使神经网络可学习复杂模式控制输出范围:如Sigmoid将输出限制在(0,1)梯度传递:影响反向传播的稳定性二、常见类型及数学表达 Sigmoid σ ( x ) = 1 1 +...
docker 部署发现spring.profiles.active 问题
报错: org.springframework.boot.context.config.InvalidConfigDataPropertyException: Property spring.profiles.active imported from location class path resource [application-test.yml] is invalid in a profile specific resource [origin: class path re…...
Appium下载安装配置保姆教程(图文详解)
目录 一、Appium软件介绍 1.特点 2.工作原理 3.应用场景 二、环境准备 安装 Node.js 安装 Appium 安装 JDK 安装 Android SDK 安装Python及依赖包 三、安装教程 1.Node.js安装 1.1.下载Node 1.2.安装程序 1.3.配置npm仓储和缓存 1.4. 配置环境 1.5.测试Node.j…...
Qt Quick Controls模块功能及架构
Qt Quick Controls是Qt Quick的一个附加模块,提供了一套用于构建完整用户界面的UI控件。在Qt 6.0中,这个模块经历了重大重构和改进。 一、主要功能和特点 1. 架构重构 完全重写了底层架构,与Qt Quick更紧密集成 移除了对Qt Widgets的依赖&…...
【大厂机试题解法笔记】矩阵匹配
题目 从一个 N * M(N ≤ M)的矩阵中选出 N 个数,任意两个数字不能在同一行或同一列,求选出来的 N 个数中第 K 大的数字的最小值是多少。 输入描述 输入矩阵要求:1 ≤ K ≤ N ≤ M ≤ 150 输入格式 N M K N*M矩阵 输…...
SOC-ESP32S3部分:30-I2S音频-麦克风扬声器驱动
飞书文档https://x509p6c8to.feishu.cn/wiki/SKZzwIRH3i7lsckUOlzcuJsdnVf I2S简介 I2S(Inter-Integrated Circuit Sound)是一种用于传输数字音频数据的通信协议,广泛应用于音频设备中。 ESP32-S3 包含 2 个 I2S 外设,通过配置…...
