js基础速成-字符串方法

字符串方法

JavaScript 中的所有内容都是对象。字符串是一种基本数据类型,这意味着一旦创建就无法修改。字符串对象有许多字符串方法,有不同的字符串方法可以帮助我们处理字符串。

length

字符串的 length 方法返回字符串中字符的数量,包括空格。

let js = 'JavaScript'
console.log(js.length)         // 10
let firstName = 'Asabeneh'
console.log(firstName.length)  // 8

访问字符串中的字符

我们可以通过索引访问字符串中的每个字符。在编程中,计数从 0 开始。字符串的第一个索引是零,最后一个索引是字符串长度减去一。

let string = 'JavaScript'
let firstLetter = string[0]console.log(firstLetter)           // Jlet secondLetter = string[1]       // a
let thirdLetter = string[2]
let lastLetter = string[9]console.log(lastLetter)            // tlet lastIndex = string.length - 1console.log(lastIndex)  // 9
console.log(string[lastIndex])    // t

toUpperCase()

此方法将字符串转换为大写字母。

let string = 'JavaScript'console.log(string.toUpperCase())     // JAVASCRIPTlet firstName = 'Asabeneh'console.log(firstName.toUpperCase())  // ASABENEHlet country = 'Finland'console.log(country.toUpperCase())    // FINLAND

toLowerCase()

此方法将字符串转换为小写字母。

let string = 'JavasCript'console.log(string.toLowerCase())     // javascriptlet firstName = 'Asabeneh'console.log(firstName.toLowerCase())  // asabenehlet country = 'Finland'console.log(country.toLowerCase())   // finland

substr()

它接受两个参数,起始索引和要提取的字符数。

let string = 'JavaScript'
console.log(string.substr(4,6))    // Scriptlet country = 'Finland'
console.log(country.substr(3, 4))   // land

substring()

它接受两个参数,起始索引和结束索引,但不包括结束索引处的字符。

let string = 'JavaScript'console.log(string.substring(0,4))     // Java
console.log(string.substring(4,10))    // Script
console.log(string.substring(4))       // Scriptlet country = 'Finland'console.log(country.substring(0, 3))   // Fin
console.log(country.substring(3, 7))   // land
console.log(country.substring(3))      // land

split()

split 方法将字符串在指定的位置拆分。

let string = '30 Days Of JavaScript'console.log(string.split())     // 转换为数组 -> ["30 Days Of JavaScript"]
console.log(string.split(' '))  // 按空格拆分成数组 -> ["30", "Days", "Of", "JavaScript"]let firstName = 'Asabeneh'console.log(firstName.split())    // 转换为数组 - > ["Asabeneh"]
console.log(firstName.split(''))  // 按每个字母拆分成数组 ->  ["A", "s", "a", "b", "e", "n", "e", "h"]let countries = 'Finland, Sweden, Norway, Denmark, and Iceland'console.log(countries.split(','))  // 按逗号拆分成数组 -> ["Finland", " Sweden", " Norway", " Denmark", " and Iceland"]
console.log(countries.split(', ')) //  ["Finland", "Sweden", "Norway", "Denmark", "and Iceland"]

trim()

删除字符串开头或结尾的空格。

let string = '   30 Days Of JavaScript   'console.log(string) //   30 Days Of JavasCript   
console.log(string.trim(' ')) //30 Days Of JavasCriptlet firstName = ' Asabeneh 'console.log(firstName)//  Asabeneh 
console.log(firstName.trim())  //sabeneh

includes()

它接受一个子字符串参数,并检查子字符串是否存在于字符串中。includes() 返回一个布尔值。如果子字符串存在于字符串中,则返回 true,否则返回 false。

let string = '30 Days Of JavaScript'console.log(string.includes('Days'))     // true
console.log(string.includes('days'))     // false - 区分大小写!
console.log(string.includes('Script'))   // true
console.log(string.includes('script'))   // false
console.log(string.includes('java'))     // false
console.log(string.includes('Java'))     // truelet country = 'Finland'console.log(country.includes('fin'))     // false
console.log(country.includes('Fin'))     // true
console.log(country.includes('land'))    // true
console.log(country.includes('Land'))    // false

replace()

接受旧子字符串和新子字符串作为参数。

string.replace(oldsubstring, newsubstring)
let string = '30 Days Of JavaScript'
console.log(string.replace('JavaScript', 'Python')) // 30 Days Of Pythonlet country = 'Finland'
console.log(country.replace('Fin', 'Noman'))       // Nomanland

charAt()

接受索引并返回该索引处的字符。

let string = '30 Days Of JavaScript'
console.log(string.charAt(0))        // 3let lastIndex = string.length - 1
console.log(string.charAt(lastIndex)) // t

charCodeAt()

let string = '30 Days Of JavaScript'
console.log(string.charCodeAt(3))        // D 的 ASCII 码是 68let lastIndex = string.length - 1
console.log(string.charCodeAt(lastIndex)) // t 的 ASCII 码是 116

indexOf()

接受子字符串,如果子字符串存在于字符串中,它返回该子字符串的第一个位置,如果不存在则返回 -1。

let string = '30 Days Of JavaScript'console.log(string.indexOf('D'))          // 3
console.log(string.indexOf('Days'))       // 3
console.log(string.indexOf('days'))       // -1
console.log(string.indexOf('a'))          // 4
console.log(string.indexOf('JavaScript')) // 11
console.log(string.indexOf('Script'))     //15
console.log(string.indexOf('script'))     // -1

lastIndexOf()

接受子字符串,如果子字符串存在于字符串中,它返回该子字符串的最后一个位置,如果不存在则返回 -1。

let string = 'I love JavaScript. If you do not love JavaScript what else can you love.'console.log(string.lastIndexOf('love'))       // 67
console.log(string.lastIndexOf('you'))        // 63
console.log(string.lastIndexOf('JavaScript')) // 38

concat()

接受多个子字符串并将它们连接在一起。

string.concat(substring, substring, substring)
let string = '30'
console.log(string.concat("Days", "Of", "JavaScript")) // 30DaysOfJavaScriptlet country = 'Fin'
console.log(country.concat("land")) // Finland

startsWith()

接受一个子字符串作为参数,并检查字符串是否以指定的子字符串开头。它返回一个布尔值(true 或 false)。

let string = 'Love is the best to in this world'console.log(string.startsWith('Love'))   // true
console.log(string.startsWith('love'))   // false
console.log(string.startsWith('world'))  // falselet country = 'Finland'console.log(country.startsWith('Fin'))   // true
console.log(country.startsWith('fin'))   // false
console.log(country.startsWith('land'))  //  false

endsWith()

接受一个子字符串作为参数,并检查字符串是否以指定的子字符串结尾。它返回一个布尔值(true 或 false)。

let string = 'Love is the most powerful thing in this world'console.log(string.endsWith('world'))         // true
console.log(string.endsWith('love'))          // false
console.log(string.endsWith('in this world')) // truelet country = 'Finland'console.log(country.endsWith('land'))         // true
console.log(country.endsWith('fin'))          // false
console.log(country.endsWith('Fin'))          //  false

search()

它接受一个子字符串作为参数,并返回该子字符串在字符串中第一次出现的位置。如果未找到子字符串,则返回 -1。

let string = 'I love JavaScript. If you do not love JavaScript what else can you love.'
console.log(string.search('love'))          // 2
console.log(string.search(/javascript/gi))  // 7

match()

接受一个正则表达式作为参数,并返回与正则表达式匹配的结果数组。它还可以使用标志。

let string = 'I love JavaScript. If you do not love JavaScript what else can you love.'
console.log(string.match('love'))  //["love", index: 2, input: "I love JavaScript. If you do not love JavaScript what else can you love.", groups: undefined]
let pattern = /love/gi
console.log(string.match(pattern))   // ["love", "love", "love"]

从文本中提取数字,使用正则表达式

let txt = 'In 2019, I ran 30 Days of Python. Now, in 2020 I am super excited to start this challenge'
let regEx = /\d+/// \d 代表一个数字(0-9)
// + 代表前面的元素(数字)出现一次或多次
// g 代表全局匹配,意思是查找字符串中的所有匹配项console.log(txt.match(regEx))  // // ["2", "0", "1", "9", "3", "0", "2", "0", "2", "0"]
console.log(txt.match(/\d+/g)) // ["2019", "30", "2020"]

repeat()

接受一个数字作为参数,并返回字符串重复指定次数的结果。

let string = 'love'
console.log(string.repeat(10)) // lovelovelovelovelovelovelovelovelovelove

slice()

slice() 方法用于提取字符串的一部分,并返回一个新的字符串,不修改原字符串。它接受两个参数:起始索引(包括)和结束索引(不包括)。

let string = 'JavaScript'
console.log(string.slice(0, 4))    // "Java"
console.log(string.slice(4, 10))   // "Script"
console.log(string.slice(4))       // "Script"

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

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

相关文章

Hibernate 批量插入速度慢的原因和解决方法

由于业务需要一次性连续写入超过10k条以上的新数据,当对象超过10个成员变量以后,整个写入过程居然需要长达35秒,这个速度是不能接受的,故此研究了一下怎么开启Hibernate批量写入的功能。 我这边使用的是Hibernate 5.6.15 在网上…

Spark MLlib模型训练—回归算法 Linear regression

Spark MLlib模型训练—回归算法 Linear regression 线性回归是回归分析中最基础且应用广泛的一种方法。它用于建模目标变量和一个或多个自变量之间的关系。随着大数据时代的到来,使用像 Spark 这样的分布式计算框架进行大规模数据处理和建模变得尤为重要。本文将全面解析 Spa…

Java 异常架构Exception(异常)

1. Exception 类的概述 在Java中,Exception类是Throwable类的直接子类之一。Throwable类是Java异常处理体系的根类,所有异常和错误都继承自它。Java的异常体系可以分为以下几个部分: Throwable:所有异常和错误的基类。 - Exce…

【Java|Stream流】不可变集合

文章目录 1.什么是不可变集合2.创建不可变集合的方式2.1 List类型2.2 Set2.3 Map 1.什么是不可变集合 不可变集合:不可以被修改的集合 不可变集合优点: 安全性 由于不可变集合不能被修改,所以可以安全地在多个线程之间共享,而不用担心被意外修改&#xf…

【kubernetes】Service 介绍和应用

一,Service介绍 四层代理是基于传输层(第四层)工作的代理,主要在传输层(如TCP、UDP协议)上转发和管理数据流 七层代理是基于应用层(第七层)工作的代理,能够对应用层协议…

# 利刃出鞘_Tomcat 核心原理解析(十)-- Tomcat 性能调优--2

利刃出鞘_Tomcat 核心原理解析(十)-- Tomcat 性能调优–2 二、Tomcat专题 - Tomcat性能调优 - 性能测试结果说明 1、压力性能测试 # 打开另一个终端,切换目录 [rootbogon ~]# cd /usr/local/tomcat# 进行压力性能测试[rootbogon tomcat]# …

JSON处理库 -- Fastjson

文章目录 一、json格式1.1 用途1.2 语法1.3 常见格式 二、fastjson常用类2.1 JSONObject2.2 JSONArray 三、序列化和反序列化3.1 默认序列化与反序列化3.2 序列化的扩展3.3 自定义序列化SerializeFilter3.4 JSONField 注解3.5 复习Jackson 一、json格式 1.1 用途 一种轻量级的…

浅谈SpringMvc的核心流程与组件

一、SpringMvc的核心流程 当发起请求时被前置的控制器(DispatcherServlet)拦截到请求,根据请求参数生成代理请求,找到请求对应的实际控制器,控制器处理请求,创建数据模型,访问数据库,将模型响应给中心控制…

threadLocal底层源码解析

分享链接: https://www.cnblogs.com/blissful/p/17929221.html

边缘计算与物联网中的深度学习应用

边缘计算与物联网中的深度学习应用 目录 一、引言 二、边缘计算基础 三、物联网基础 四、深度学习在物联网中的应用实例 五、总结 一、引言 随着物联网技术的不断发展,越来越多的设备和传感器被连接到互联网上,产生了海量的数据。这些数据需…

Android创建自己的内容提供器(ContentProvider)

文章目录 Android创建自己的内容提供器(ContentProvider)创建内容提供器的步骤新建MyProvider继承自ContentProvider内容URI的格式修改MyProvider中的代码MIME类型 Android创建自己的内容提供器(ContentProvider) 在上一节当中&a…

扑捉一只耿鬼(HTML文件)

图例&#xff1a; 代码&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><title>耿鬼</title><style>body {background: #fff;font-family: Comfortaa, sans-serif;}* {box-sizing:…

Unet改进12:添加PCONV||减少冗余计算和同时存储访问

本文内容:添加PCONV 目录 论文简介 1.步骤一 2.步骤二 3.步骤三 4.步骤四 论文简介 为了设计快速的神经网络,许多工作都集中在减少浮点运算(FLOPs)的数量上。然而,我们观察到FLOPs的这种减少并不一定会导致类似程度的延迟减少。这主要源于低效率的每秒浮点操作数(FLOP…

Bean 的实例化(创建 | 获取)

Spring为Bean提供了多种实例化方式&#xff0c;包括如下4种方式&#xff1a; 第一种&#xff1a;通过构造方法实例化第二种&#xff1a;通过简单工厂模式实例化第三种&#xff1a;通过factory-bean实例化&#xff08;工厂方法模式实例化&#xff09;第四种&#xff1a;通过Fact…

盘点java8 stream中隐藏的函数式接口

shigen坚持更新文章的博客写手&#xff0c;记录成长&#xff0c;分享认知&#xff0c;留住感动。个人IP&#xff1a;shigen 提到函数式接口&#xff0c;最常见的就是lambda表达式&#xff0c;IDEA也有智能的提示&#xff1a; 最后改成这样的就是最简洁的、IDEA希望的风格&#…

Android UI绘制原理:UI的绘制流程是怎么样呢?为什么子线程不能刷新UI呢?讲解大体的流程是怎么样的

目录&#xff1a; 一、 为什么要学习android UI绘制原理呢&#xff1f;对我们有什么帮助&#xff1f; 1.解决复杂布局问题&#xff1a;了解UI绘制原理可以帮助我们更好地理解和解决布局问题&#xff0c;比如使用自定义View、优化布局层级等。 2.知道何时触发布局&#xff08;…

Java中的阻塞队列BlockingQueue

阻塞队列简介 阻塞队列是一个支持两个附加操作的队列 -> 支持阻塞的插入方法&#xff1a;当队列满时&#xff0c;队列会阻塞插入元素的线程&#xff0c;直到队列不满支持阻塞的移除方法&#xff1a;意思是在队列为空时&#xff0c;获取元素的线程会等待队列为非空 ->这…

【AI大模型】基于docker部署向量数据库Milvus和可视化工具Attu详解步骤

&#x1f680; 作者 &#xff1a;“大数据小禅” &#x1f680; 文章简介 &#xff1a;本专栏后续将持续更新大模型相关文章&#xff0c;从开发到微调到应用&#xff0c;需要下载好的模型包可私。 &#x1f680; 欢迎小伙伴们 点赞&#x1f44d;、收藏⭐、留言&#x1f4ac; 目…

zdppy_cache缓存框架升级,支持用户级别的缓存隔离,支持超级管理员管理普通用户的缓存

启动服务 import zdppy_api as api import zdppy_cachekey1 "admin" key2 "admin"app api.Api(routes[*zdppy_cache.zdppy_api.cache(key1, key2, api) ])if __name__ __main__:import zdppy_uvicornzdppy_uvicorn.run(app, host"0.0.0.0",…

TEngine框架之HybridCLR代码热更

自HybridCLR热更方案出现以来&#xff0c;像之前的主流toLua/xLua/ILRuntime瞬间不香了&#xff0c;算是跨世代的产物引起业界不小的轰动。HybridCLR是一个特性完整、零成本、高性能、低内存的近乎完美的Unity全平台原生c#热更新解决方案。想要详细了解HibirdCLR原理和使用的&a…