当前位置: 首页 > news >正文

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))  //NaN
toUpperCase()

        语法:字符串名.str.toUpperCase()

        作用:将所有字符转为大写

        返回值:返回转好的字符

toLowerCase()

        语法:字符串名.str.toUpperCase()

        作用:将所有字符转为小写

        返回值:返回转好的字符

        var str='AbcdFegabc'console.log(str.toUpperCase())  //ABCDFEGABCconsole.log(str.toLowerCase())  //abcdfegabc
substr()

        语法:字符串名.substr(开始索引,截取个数)

        作用:截取字符串

        返回值:返回截取的字符串

        var str='AbcdFegabc'//都不写则截取整个字符串console.log(str.substr())  //AbcdFegabc//只写开始索引表示从开始索引到字符串末尾console.log(str.substr(3))  //dFegabc//都写表示从开始索引截取几个字符console.log(str.substr(1,3))  //bcd
substring()

        语法:字符串名.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))  //Abc
slice()

        语法:字符串名.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))  //xyz
split()

        语法:字符串.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))   //-1
lastIndexOf()

        语法:字符串.lastIndexOf('字符')

        作用:按照从后向前的顺序查找字符串的索引

        返回值:有返回对应的索引值,没有返回-1

        var str='AbcDeF AgHiJk LmN'console.log(str.lastIndexOf('A'))   //7console.log(str.lastIndexOf(' '))   //13console.log(str.lastIndexOf(1))   //-1
includes()

        语法:字符串.includes('字符')

        作用:判断字符串中是否含有某字符

        返回值:true/false

        var str='AbcDeF AgHiJk LmN'console.log(str.includes("Abc"))   //trueconsole.log(str.includes("ABC"))   //false
trim()

        语法:字符串.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链接并重新…...

MelonLoader终极指南:Unity游戏模组加载器的完整安装与使用教程

MelonLoader终极指南:Unity游戏模组加载器的完整安装与使用教程 【免费下载链接】MelonLoader The Worlds First Universal Mod Loader for Unity Games compatible with both Il2Cpp and Mono 项目地址: https://gitcode.com/gh_mirrors/me/MelonLoader 还在…...

StructBERT中文情感WebUI多语言支持:中英双语界面切换与结果输出

StructBERT中文情感WebUI多语言支持:中英双语界面切换与结果输出 1. 项目介绍与核心价值 如果你正在寻找一个能快速上手、效果不错的中文情感分析工具,那么今天介绍的StructBERT中文情感分析WebUI,可能就是你的理想选择。这个项目基于百度开…...

在 SAP 系统中,利润中心(Profit Center)和业务范围(Business Area)都是用于内部管理报告的组织单元,但它们在设计理念、功能和应用上存在显著区别。简单来说,利润中心是更现代

在 SAP 系统中,利润中心(Profit Center)和业务范围(Business Area)都是用于内部管理报告的组织单元,但它们在设计理念、功能和应用上存在显著区别。简单来说,利润中心是更现代、更灵活、功能更强…...

LightRAG架构解析:从图索引到双层检索的工程实现

1. LightRAG架构概览:为什么需要双层检索? 在传统RAG系统中,我们常常遇到两个核心痛点:信息碎片化和上下文缺失。想象一下,当你问"电动汽车的普及对城市空气质量有何影响"时,传统系统可能分别检索…...

Youtu-VL-4B-Instruct-GGUF模型安全考量:在网络安全领域的潜在应用与风险

Youtu-VL-4B-Instruct-GGUF模型安全考量:在网络安全领域的潜在应用与风险 最近和几个做安全的朋友聊天,他们都在头疼一个问题:现在的网络攻击越来越“花里胡哨”了。以前可能就是一段恶意代码,现在呢?一张精心设计的钓…...

DAMOYOLO-S快速上手:移动端浏览器访问Web服务与触屏操作适配说明

DAMOYOLO-S快速上手:移动端浏览器访问Web服务与触屏操作适配说明 1. 开篇:一个能“看懂”世界的AI助手 想象一下,你正用手机拍一张街景照片,屏幕上立刻就能标出“汽车”、“行人”、“交通灯”,甚至“手提包”。这不…...

ARM Cortex-M嵌入式通用头文件sarmfsw深度解析

1. sarmfsw项目概述sarmfsw(ARM-based Common Headers)是一个面向ARM Cortex-M系列微控制器的轻量级、跨平台通用头文件集合。它并非传统意义上的功能库,而是一套经过工程验证的类型定义(typedefs)、宏(mac…...

CVE-2024-36401复现

一.漏洞概述 CVE-2024-36401 是 GeoServer 中的一个严重级远程代码执行漏洞(CVSS 9.8),允许未经身份验证的远程攻击者在服务器上执行任意代码。该漏洞源于 GeoServer 调用的 GeoTools 库 API 在评估 XPath 表达式时存在不安全处理&#xff0…...

多任务学习进阶:从MMoE到PLE的模型演进与实战解析

1. 多任务学习基础与核心挑战 多任务学习(Multi-Task Learning, MTL)是机器学习领域的一个重要分支,它让单个模型同时学习多个相关任务。想象一下,你正在教一个学生同时学习数学和物理。如果这两个学科有共同的基础概念&#xff0…...

Qwen3.5-9B-AWQ-4bit部署教程:Docker容器内路径映射与模型加载权限配置

Qwen3.5-9B-AWQ-4bit部署教程:Docker容器内路径映射与模型加载权限配置 1. 引言 今天我们要探讨的是如何在Docker环境中部署Qwen3.5-9B-AWQ-4bit模型,这是一个支持图像理解的多模态模型。这个模型能够结合上传的图片与文字提示词,输出中文分…...