【3.5JavaScript】JavaScript字符串对象

news2025/5/20 10:44:52

文章目录

    • 1.获取字符串长度
    • 2.大小写转换
    • 3.获取某一个字符
    • 4.截取字符串
    • 5.替换字符串
    • 6.分割字符串
    • 7.检索字符串位置
    • 8.例题:统计某一个字符的个数

在 JavaScript 中,对象是非常重要的知识点。对象分为两种:一种是 ”自定义对象“,另一种是 ”内置对象“

自定义对象,指的是需要我们自己定义的对象,跟 ”自定义函数“ 是一样的道理

内置对象,指的是系统已经定义好的、可以直接使用的对象,跟 ”内置函数“ 也是一样的道理

在初学阶段,我们先来学习内置对象,然后在进阶的时候再去学习自定义对象。在 JavaScript 中,常用的内置对象有四种

  • 字符串对象:String
  • 数组对象:Array
  • 日期对象:Date
  • 数值对象:Math

这一节我们先来学习一下字符串对象的常用属性和方法

1.获取字符串长度

字符串名.length

举例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        var str = "i love you";
        str.length;
        document.write(str.length);
    </script>
</head>
<body>
</body>
</html>

image-20250221135817402

2.大小写转换

字符串名.toLowerCase()
字符串名.toUpperCase()

举例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        var str = "I Love You";
        document.write("正常:" + str + "<br>");
        document.write("大写:" +str.toUpperCase() + "<br>");
        document.write("小写:" +str.toLowerCase());
    </script>
</head>
<body>
</body>
</html>

image-20250221140155174

3.获取某一个字符

字符串名.charAt()

举例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        var str = "I Love You";
        document.write(str.charAt(0) + "<br>");
        document.write(str.charAt(1) + "<br>");
        document.write(str.charAt(2) + "<br>");
    </script>
</head>
<body>
</body>
</html>

image-20250221140336337

4.截取字符串

截取范围为:[ start , end )

字符串的下标是从 0 开始数的

字符串名.substring(start, end)

举例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        var str = "I Love You";
        var str2 = str.substring(2, 8);
        document.write(str2);
    </script>
</head>
<body>
</body>
</html>

image-20250221140640232

5.替换字符串

字符串名.replace(原字符串, 替换字符串)
字符串名.replace(正则表达式, 替换字符串)

举例:

直接使用字符串替换:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        var str = "I Love You";
        var str2 =  str.replace("Love","Hate");
        document.write(str2);
    </script>
</head>
<body>
</body>
</html>

image-20250221141140453

使用正则表达式替换:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        var str = "I Love You , He Love You , She Love You";
        var str2 =  str.replace("Love","Hate");
        var str3 =  str.replace(/Love/g,"Hate");
        document.write(str2);
        document.write("<br>");
        document.write(str3);
    </script>
</head>
<body>
</body>
</html>

image-20250221141444297

注意: 使用 replace 进行替换时,只会替换匹配到的第一个,而正则表达式会将所有匹配到的进行替换

6.分割字符串

字符串名.split("分隔符")

举例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        var str = "I Love You ,He Love You ,She Love You";
        var arr = str.split(",");
        document.write(arr[0] + "<br>");
        document.write(arr[1] + "<br>");
        document.write(arr[2] + "<br>");
        document.write(arr[3] + "<br>");
    </script>
</head>
<body>
</body>
</html>

image-20250221141758446

7.检索字符串位置

indexOf() 方法找到指定字符串中 “首次出现” 的下标位置

lastIndexOf()方法找到指定字符串中“最后出现”的下标位置

字符串名.indexOf(指定字符串)
字符串名.lastIndexOf(指定字符串)

如果字符串中不包含 “指定字符串” 就会返回 -1

举例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        var str = "I Love You ,He Love You ,She Love You";
        document.write(str.indexOf("Love")); // 2
        document.write("<br>");
        document.write(str.lastIndexOf("Love")); // 29
        document.write("<br>");
        document.write(str.lastIndexOf("love")); // -1
    </script>
</head>
<body>
</body>
</html>

image-20250221142539525

8.例题:统计某一个字符的个数

找出并计算字符串"Can you can a can as a canner can can a can?"中所有 c 的个数,不区分大小写

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        var str = "Can you can a can as a canner can can a can?";
        var n = 0;
        for (var i = 0; i < str.length; i++) {
            if (str.charAt(i).toLowerCase() == "c") {
                n++;
            }
        }
        document.write("字符串中包含 " + n + " 个c");
    </script>
</head>
<body>
</body>
</html>

image-20250221142916953

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

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

相关文章

路由基本配置

学习目标 • 根据拓扑图进行网络布线。 • 清除启动配置并将路由器重新加载为默认状态。 • 在路由器上执行基本配置任务。 • 配置并激活以太网接口。 • 测试并检验配置。 • 思考网络实施方案并整理成文档。 任务 1&#xff1a;网络布线 使用适当的电缆类型连接网络设备。…

windows上vscode cmake工程搭建

安装vscode插件&#xff1a; 1.按装fastc&#xff08;主要是安装MinGW\mingw64比较方便&#xff09; 2.安装C&#xff0c;cmake&#xff0c;cmake tools插件 3.准备工作完成之后&#xff0c;按F1&#xff0c;选择cmake:Quick Start就可以创建一个cmake工程。 4.设置Cmake: G…

VUE3+TS+element-plus项目从0开始入门 - 创建项目、认识基本结构

文章目录 写在前面1、创建vue3项目npm create vuelatestnpm i 2、项目结构.vscodevue3结构a、项目树结构b、package.jsonc、tsconfig.jsond、index.htmld、srce、main.tsf、App.vue 写在前面 开前请自行下载vs code、node.js, 在vs code里面安装Vue - Official插件。本文使用的…

shared_ptr 不析构的问题记录

片段1&#xff1a; 片段2&#xff1a; 你们猜 哪个有问题 &#xff1f;

原生稀疏注意力机制(NSA):硬件对齐且可原生训练的稀疏注意力机制-论文阅读

摘要 长上下文建模对于下一代语言模型至关重要&#xff0c;但标准注意力机制的高计算成本带来了巨大的计算挑战。稀疏注意力提供了一种在保持模型能力的同时提高效率的有前途的方向。本文提出了一种名为 NSA&#xff08;原生可训练稀疏注意力机制&#xff09; 的方法&#xff…

从0到1:固件分析

固件分析 0x01 固件提取 1、从厂商官网下载 例如D-link的固件&#xff1a; https://support.dlink.com/resource/products/ 2、代理或镜像设备更新时的流量 发起中间人攻击MITM #启用IP转发功能 echo 1 > /proc/sys/net/ipv4/ip_forward#配置iptables&#xff0c;将目…

conda、anaconda、pip、pytorch、tensorflow有什么区别?

先画一张图&#xff0c;可以大致看出它们的区别和关联&#xff1a; pytorch、tensorflow都是Python的第三方库&#xff0c;相当于封装的代码工具集库&#xff0c;通过import导入使用。这两个都是深度学习框架&#xff0c;用来搭建AI模型什么的&#xff0c;使用范围非常之广&…

项目设置内网 IP 访问实现方案

在我们平常的开发工作中&#xff0c;项目开发、测试完成后进行部署上线。比如电商网站、新闻网站、社交网站等&#xff0c;通常对访问不会进行限制。但是像企业内部网站、内部管理系统等&#xff0c;这种系统一般都需要限制访问&#xff0c;比如内网才能访问等。那么一个网站应…

Vue面试2

1.跨域问题以及如何解决跨域 跨域问题&#xff08;Cross-Origin Resource Sharing, CORS&#xff09;是指在浏览器中&#xff0c;当一个资源试图从一个不同的源请求另一个资源时所遇到的限制。这种限制是浏览器为了保护用户安全而实施的一种同源策略&#xff08;Same-origin p…

合合信息2025届春季校园招聘全面启动!

世界因你而AI&#xff0c;合合信息2025届春季校园招聘启动&#xff01; 我们是谁&#xff1f; 我们是一家行业领先的人工智能及大数据科技企业 18年深耕AI领域&#xff0c;C端产品与B端服务布局矩阵完善 9.4亿全球累计用户首次下载量&#x1f4a5; 来到这里你能得到什么&a…

shiro代码层面追踪

文章目录 环境漏洞分析硬编码 反序列化Gadget构造 环境 环境搭建&#xff1a;https://blog.csdn.net/qq_44769520/article/details/123476443 漏洞分析 硬编码 shiro是对rememberMe这个cookie进⾏反序列化的时候出现了问题。 相应代码 // // Source code recreated from …

虚拟机网络ssh连接失败,没有网络

vscode进行ssh时连接失败&#xff0c;发现是虚拟机没有网络。 虚拟机ping不通www.baidu.com但可以ping通内网 ping 8.8.8.8ping不通。 sudo dhclient -r ens33 sudo dhclient ens33 ip route show可以了。 20250221记录&#xff1a;不知道是不是重启了虚拟机还是咋了&#…

已知点矩阵的三个顶点坐标、行列数和行列的间距,计算得出剩余所有点的坐标

已知点矩阵的三个顶点坐标、行列数和行列的间距&#xff0c;计算得出剩余所有点的坐标 计算矩阵中每个点的坐标代码实现案例图调用验证 计算矩阵中每个点的坐标 给定左上角、左下角和右上角三个点的坐标&#xff0c;以及矩阵的行数、列数、行间距和列间距&#xff0c;我们可以…

go 并发 gorouting chan channel select Mutex sync.One

goroutine // head&#xff1a; 前缀 index&#xff1a;是一个int的指针 func print(head string, index *int) {for i : 0; i < 5; i {// 指针对应的int *indexfmt.Println(*index, head, i)// 暂停1stime.Sleep(1 * time.Second)} }/* Go 允许使用 go 语句开启一个新的运…

深度学习入门--python入门2

以前学的全忘了&#xff0c;现在算是才开始学&#xff0c;有错误&#xff0c;恳请指正。 目录 1.4 Python脚本文件 1.4.1保存为文件 1.4.2 类 1.5 Numpy 1.5.1 导入Numpy 1.5.2 生成Numpy数组 1.5.3 Numpy的算术运算 1.5.4 Numpy的N维数组 1.5.5 广播 1.5.6 访问元素…

题海拾贝:【枚举】P2010 [NOIP 2016 普及组] 回文日期

Hello大家好&#xff01;很高兴我们又见面啦&#xff01;给生活添点passion&#xff0c;开始今天的编程之路&#xff01; 我的博客&#xff1a;<但凡. 我的专栏&#xff1a;《编程之路》、《数据结构与算法之美》、《题海拾贝》 欢迎点赞&#xff0c;关注&#xff01; 1、题…

Mac端homebrew安装配置

拷打了一下午o3-mini-high&#xff0c;不如这位博主的超强帖子&#xff0c;10分钟结束战斗 跟随该文章即可&#xff0c;2025/2/19亲测可行 mac 安装HomeBrew(100%成功)_mac安装homebrew-CSDN博客文章浏览阅读10w次&#xff0c;点赞258次&#xff0c;收藏837次。一直觉得自己写…

Python高级语法之selenium

目录&#xff1a; 1、selenium的使用2、selenium元素定位3、selenium使用功能Phantomjs模拟浏览器启动4、selenium使用功能ChromsHandless模拟浏览器启动 1、selenium的使用 2、selenium元素定位 3、selenium使用功能Phantomjs模拟浏览器启动 4、selenium使用功能ChromsHandles…

2025年3月最新算法-鲸鱼迁徙优化算法Whale Migration Algorithm-附Matlab免费代码

引言 本期介绍了一种基于座头鲸协同迁移行为的创新生物启发式优化方法——鲸鱼迁徙优化算法Whale Migration Algorithm&#xff0c;WMA。该算法于2025年3月最新发表在期刊 Results in Engineering 在本节中&#xff0c;我们概述了开发鲸鱼迁移算法&#xff08;WMA&#xff09;…

flowable适配达梦数据库

文章目录 适配相关问题无法从数据库产品名称“DM DBMS”中推断数据库类型分析解决 构建ibatis SqlSessionFactory时出错&#xff1a;inStream参数为null分析解决 liquibase相关问题问题一&#xff1a;不支持的数据库 Error executing SQL call current_schema: 无法解析的成员访…