JavaScript(二):字符串

news2024/12/28 19:48:09

目录

模版字符串

基本用法

多行字符串

插入表达式

字符串的内置方法

基本方法

替换和分割

空格相关

字符串的拼接


模版字符串

基本用法

模版字符串允许在字符串中直接插入表达式,这些表达式会替换成对应的结果

${变量名}会替换为变量值,例如:

// 基本用法
let name = 'Alice';
let greeting = `Hello, ${name}!`;  // 插入变量
console.log(greeting);  // 输出: Hello, Alice!

多行字符串

模版字符串可以包含多行,不需要使用转义字符/n

let message = `This is a
multiline string
example.`;
console.log(message);
// 输出:
// This is a
// multiline string
// example.

插入表达式

可以在模版字符串中插入任何有效的JavaScript表达式,包括函数调用、算数运算等

let a = 10;
let b = 20;
let sum = `The sum of ${a} and ${b} is ${a + b}.`;
console.log(sum);  // 输出: The sum of 10 and 20 is 30.

字符串的内置方法

基本方法

length:返回字符串的长度

let str = "Hello, world!";
console.log(str.length);  // 输出: 13

toUpperCase():将字符串转换为大写

let str = "hello";
console.log(str.toUpperCase());  // 输出: "HELLO"

toLowerCase():将字符串转换为小写

let str = "HELLO";
console.log(str.toLowerCase());  // 输出: "hello"

charAt(index):返回指定位置的字符

let str = "Hello";
console.log(str.charAt(1));  // 输出: "e"

charCodeAt(index):返回指定位置字符的 Unicode 编码

let str = "Hello";
console.log(str.charCodeAt(1));  // 输出: 101 (Unicode编码)

indexOf(searchValue):返回 searchValue 在字符串中第一次出现的位置,如果没有找到,返回 -1

let str = "Hello, world!";
console.log(str.indexOf('o'));  // 输出: 4
console.log(str.indexOf('z'));  // 输出: -1

lastIndexOf(searchValue):返回 searchValue 在字符串中最后一次出现的位置

let str = "Hello, world!";
console.log(str.lastIndexOf('o'));  // 输出: 8

includes(searchValue):检查字符串中是否包含指定的子字符串,返回布尔值

let str = "Hello, world!";
console.log(str.includes('world'));  // 输出: true
console.log(str.includes('JavaScript'));  // 输出: false

slice(startIndex, endIndex):从字符串中提取出一个子字符串,startIndex 是开始位置,endIndex 是结束位置(不包含该位置)

let str = "Hello, world!";
console.log(str.slice(0, 5));  // 输出: "Hello"
console.log(str.slice(7));  // 输出: "world!"

替换和分割

replace(searchValue, newValue):替换字符串中的指定部分

let str = "Hello, world!";
let newStr = str.replace("world", "JavaScript");
console.log(newStr);  // 输出: "Hello, JavaScript!"

replaceAll(searchValue, newValue):替换所有匹配的部分

let str = "Hello, world! world!";
let newStr = str.replaceAll("world", "JavaScript");
console.log(newStr);  // 输出: "Hello, JavaScript! JavaScript!"

split(separator):将字符串按照分隔符拆分为数组

let str = "apple,banana,orange";
let fruits = str.split(',');
console.log(fruits);  // 输出: [ 'apple', 'banana', 'orange' ]

空格相关

trim():去除字符串两端的空白字符

let str = "  Hello, world!  ";
console.log(str.trim());  // 输出: "Hello, world!"

trimStart() / trimLeft():去除字符串开头的空白字符

let str = "  Hello!";
console.log(str.trimStart());  // 输出: "Hello!"

trimEnd() / trimRight():去除字符串结尾的空白字符

let str = "Hello!  ";
console.log(str.trimEnd());  // 输出: "Hello!"

字符串的拼接

concat(str1, str2, ...):连接两个或多个字符串

let str1 = "Hello";
let str2 = "world!";
let result = str1.concat(" ", str2);
console.log(result);  // 输出: "Hello world!"

repeat(count):返回一个新字符串,表示将原字符串重复 count

let str = "Hi!";
console.log(str.repeat(3));  // 输出: "Hi!Hi!Hi!"

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2267082.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

小程序租赁系统开发的优势与实践探索

内容概要 小程序租赁系统开发正在引起广泛关注,特别是在数字化快速发展的今天。很多企业开始意识到,小程序不仅能为他们带来更多的客户,还能极大地提高管理效率。借助小程序,用户在租赁时可以更加方便地浏览和选择产品&#xff0…

闲谭Scala(3)--使用IDEA开发Scala

1. 背景 广阔天地、大有作为的青年,怎么可能仅仅满足于命令行。 高端大气集成开发环境IDEA必须顶上,提高学习、工作效率。 开整。 2. 步骤 2.1 创建工程 打开IDEA,依次File-New-Project…,不好意思我的是中文版:…

富芮坤FR800X系列之PWM输出程序应用设计

文章目录 前言1.设计背景2.简介3.如何设计控制调光的接口呢4.硬件设计5.软件设计5.1.软件流程图5.2.软件代码 6.小结 前言 版权归作者所有、未经允许、请勿转载。 读者对象: 本文档主要适用以下工程师: 嵌入式系统工程师 单片机软件工程师 IOT固…

node-js Express防盗链

什么是防盗连 一个简单的说明,假如在前端img标签想要引用图片网站上的图片,当你将图片地址放到img标签上想要显示的时候你发现,图片显示不了,这说明网站采用了防盗链。 怎么实现的呢 在请求头中一般会有 Referer,它…

使用ArcGIS/ArcGIS pro绘制六边形/三角形/菱形渔网图

在做一些尺度分析时,经常会涉及到对研究区构建不同尺度的渔网进行分析,渔网的形状通常为规则四边形。构建渔网的方法也很简单,使用ArcGIS/ArcGIS Pro工具箱中的【创建渔网/CreateFishnet】工具来构建。但如果想构建其他形状渔网进行相关分析&…

RabbitMQ工作模式(详解 工作模式:简单队列、工作队列、公平分发以及消息应答和消息持久化)

文章目录 十.RabbitMQ10.1 简单队列实现10.2 Work 模式(工作队列)10.3 公平分发10.4 RabbitMQ 消息应答与消息持久化消息应答概念配置 消息持久化概念配置 十.RabbitMQ 10.1 简单队列实现 简单队列通常指的是一个基本的消息队列,它可以用于…

nexus docker安装

#nexus docker 安装 docker pull sonatype/nexus3 mkdir -p /data/nexus-data docker run -itd -p 8081:8081 --privilegedtrue --name nexus3 \ -v /data/nexus-data:/var/nexus-data --restartalways docker.io/sonatype/nexus3 #访问 http://192.168.31.109:8081/ 用户名&am…

ADC(二):外部触发

有关ADC的基础知识请参考标准库入门教程 ADC(二):外部触发 1、TIM1的CC1事件触发ADC1DMA重装载2、TIM3的TRGO事件(的更新事件)触发ADC1DMA重装载3、TIM3的TRGO事件(的捕获事件)触发ADC1DMA重装载4、优化TIM3的TRGO事件(的捕获事件)触发ADC1D…

【产品应用】一体化无刷电机在旋转等离子喷枪中的应用

在现代工业制造与加工领域,等离子喷枪凭借其高温、高速的等离子射流,能够实现高效的材料表面处理、切割以及焊接等工艺,在众多行业中发挥着关键作用。而一体化无刷电机的应用,更是为等离子喷枪的性能提升和稳定运行注入了强大动力…

ElasticSearch - 深入解析 Elasticsearch Composite Aggregation 的分页与去重机制

文章目录 Pre概述什么是 composite aggregation?基本结构after 参数的作用问题背景:传统分页的重复问题after 的设计理念响应示例 after 如何确保数据不重复核心机制Example步骤 1: 创建测试数据创建索引插入测试数据 步骤 2: 查询第一页结果查询第一页返…

易基因: BS+ChIP-seq揭示DNA甲基化调控非编码RNA(VIM-AS1)抑制肿瘤侵袭性|Exp Mol Med

大家好,这里是专注表观组学十余年,领跑多组学科研服务的易基因。 肝细胞癌(hepatocellular carcinoma,HCC)早期复发仍然是一个具有挑战性的领域,其中涉及的机制尚未完全被理解。尽管微血管侵犯&#xff08…

顶会评测集解读-AlignBench: 大语言模型中文对齐基准

评测集社区 CompssHub 作为司南 OpenCompass大模型评测体系的重要组成部分,致力于简化并加快研究人员和行业人士搜索和使用评测集的过程。评测集社区 CompssHub 目前已收录了学科、推理、知识、代码等12个方向的评测集,欢迎大家探索。 为了将评测集社区…

量子退火与机器学习(1):少量数据求解未知QUBO矩阵,以少见多

文章目录 前言ー、复习QUBO:中药配伍的复杂性1.QUBO 的介入:寻找最佳药材组合 二、难题:QUBO矩阵未知的问题1.为什么这么难? 三、稀疏建模(Sparse Modeling)1. 欠定系统中的稀疏解2. L1和L2的选择: 三、压缩感知算法(C…

Linux应用软件编程-多任务处理(线程)

线程:轻量级的进程,线程的栈区独立(8M),与同一进程中的其他线程共用进程的堆区,数据区,文本区。 进程是操作系统资源分配的最小单位;线程是cpu任务调度的最小单位。 1. 线程的创建…

IKAnalyzer分词组件

IKAnalyzer是一个功能强大、易于使用、性能优异的中文分词工具包&#xff0c;适用于各种需要进行中文分词的场景&#xff0c;如搜索引擎、自然语言处理、文本挖掘等。 Springboot如何集成IKAnalyzer分词组件 引入IKAnalyzer分词组件包 <dependency><groupId>org…

微信小程序 不同角色进入不同页面、呈现不同底部导航栏

遇到这个需求之前一直使用的小程序默认底部导航栏&#xff0c;且小程序默认入口页面为pages/index/index&#xff0c;要使不同角色呈现不同底部导航栏&#xff0c;必须要在不同页面引用不同的自定义导航栏。本篇将结合分包&#xff08;subPackages&#xff09;展开以下三步叙述…

输入框去掉角标

前言 正常情况下&#xff0c;HTML textarea 多行文本输入框会存如下图所示图标&#xff0c; 用户可拉动它改变高度&#xff0c;这是我们不想看到的&#xff0c;所以要去掉它。 去掉后&#xff1a; 解决方案 设置 resize 属性即可&#xff0c;如下代码所示&#xff1a; <…

ping指令的实现与icmp协议的讲解

icmp协议 icmp属于一个网络层的协议&#xff0c;一般被封装到IP报文中&#xff0c;主要功能是如果IP报文出现目的地不可达&#xff0c;时间超过等情况出现时&#xff0c;就会将返回一个差错检测报文&#xff0c;里面包括了IP报文丢失的原因 常见的报错信息有 目的地不可达时间…

Log4j2的Policies详解、SizeBasedTriggeringPolicy、TimeBasedTriggeringPolicy

文章目录 一、Policies二、SizeBasedTriggeringPolicy:基于文件大小的滚动策略2.1、文件达到指定大小就归档 三、TimeBasedTriggeringPolicy&#xff1a;基于时间间隔的滚动策略3.1、验证秒钟归档场景3.2、验证分钟场景3.3、验证小时场景 四、多策略组合使用五、扩展知识5.1、S…

SpringCloudAlibaba实战入门之路由网关Gateway初体验(十一)

Spring Cloud 原先整合 Zuul 作为网关组件,Zuul 由 Netflix 公司提供的,现在已经不维护了。后面 Netflix 公司又出来了一个 Zuul2.0 网关,但由于一直没有发布稳定版本,所以 Spring Cloud 等不及了就自己推出一个网关,已经不打算整合 zuul2.0 了。 一、什么是网关 1、顾明…