字符串的创建及常用方法大全

news2024/11/18 15:40:11

字符串

1.索引思维

在这里插入图片描述

值类型:不会改变原来的数

 var arr = 100//值类型
        function fn(a) {
            a = 200
        }
        fn(arr)
        console.log(arr);//100

引用类型:会改变原来的数组

   // var arr = [11, 22, 33, 44]
        // var arr1 = arr;//arr1引用了arr的地址
        // arr1[0] = "AA"
        // console.log(arr1);//['AA', 22, 33, 44]
        // console.log(arr);//['AA', 22, 33, 44]
function fn1(a) {
            // a = a.slice(0) 拷贝一个新的,而且地址与原来的arr地址不同,进行修改,原数组arr不会发送改变
            a[0] = "BB"
        }
        fn1(arr);
        console.log(arr);//['BB', 22, 33, 44];出入的参数属于什么样的
        // 类型很重要

2.字符串的概念

是一组单引号或者双引号组成的字符,它是一个"值类型"

3.创建字符串的方式

1.字面量创建

var  str="你好啊"
 //定义了一个字符串变量str,内容为'你好啊'

2.构造函数创建字符串 new 引用类型

var str=new String("你好呀");//object
var str1="abc"
console.log(typeof str1)//string
//将对象类型 转换为字符串类型
var str=new String("你好呀")
console.log(typeof str.toString())//string

3.拆箱 和装箱的概念

拆箱 引用类型->值类型

装箱 值类型->引用类型

toString()拆箱

4.字符串的方法

1.charAt()

通过下标找字符

 var str = "abc123";
        console.log(str[2]);//c   重点
        console.log(str.charAt(2));//c  了解

2.charCodeAt()

根据下标返回字符串的Unicode

var str = "我爱你a"
        console.log(str.charCodeAt(0));//25105
        console.log(str.charCodeAt(1));//29233
        console.log(str.charCodeAt(2));//20320
        console.log(str.charCodeAt(3));//97

3.String.fromCharCode()静态方法

把Unicode转换为字符

 var str = String.fromCharCode(25105, 29233, 20320);//
        console.log(str);

4.search

找到了返回下标,找不到返回-1

支持正则表达式

 var str = "abc123";
        console.log(str.search("c"));//2
        console.log(str.search("z"));//-1
        console.log(str.search(/a/));//0

5.match

找到了返回数组,找不到返回null

支持正则

 var str = "abc123"
        console.log(str.match("c"));//返回数组['c', index: 2, input: 'abc123', groups: undefined]
        console.log(str.match("1c"));//返回null

6.indexOf

找到了返回下标,找不到返回-1

第二个参数,默认从0开始,也可以指定位置

不支持正则

 var str = "abc123"
        console.log(str.indexOf("c"));//2
        console.log(str.indexOf("z"));//-1
        console.log(str.indexOf(/a/));//-1

7.lastIndexOf()

找到了返回最后一个的下标,找不到返回-1

不支持正则

var str = "abc123"
        console.log(str.lastIndexOf("c"));//8
        console.log(str.lastIndexOf("c", 5));//2 其中的5,表示前5个值

8.slice

包含开始位置,不包含结束位置

 var str = "台上有一位绝世美男子,今年22岁"
        console.log(str.slice(7, 10));//美男子
        console.log(str.slice(7));//美男子,今年22岁

9.substring

包含开始位置,不包含结束位置,可以自动调整参数的顺序

       var str = "台上有一位绝世美男子,今年22岁"
        console.log(str.substring(10, 7));//美男子
console.log(str.substring(7, 10));//美男子 和上面效果相同
        console.log(str.substring(7));//美男子,今年22岁

10.substr

第二个参数表示要截取的个数

   var str = "台上有一位绝世美男子,今年22岁"
        console.log(str.substr(7));//美男子,今年22岁
        console.log(str.substr(7, 3));//美男子

11.concat

合并,连接

var str1 = "我是";
        var str2 = "小小易";
        var str3 = str1 + str2;
        var str4 = str1.concat(str2)
        console.log(str3);
        console.log(str4);

12.split

切割 返回一个新的数组

  var str = "abc-123"
        console.log(str.split());//['abc-123']
        console.log(str.split(""));//['a', 'b', 'c', '-', '1', '2', '3']
        console.log(str.split("-"))//['abc', '123']

13.replace

替换

var str = "小小易是一个女生";
        var str1 = str.replace("女生", "帅气的女生")
        console.log(str1);//小小易是一个帅气的女生

14.repeat

重复多次

 var str = "我爱你"
        console.log(str.repeat(100));

15.toUpperCase

小写转大写

var str = "bac123";
        console.log(str.toUpperCase());

16.toLowerCase

大写转小写

var str = "ADDADFFAFA";
        console.log(str.toLowerCase());

17.trim

去掉前后空白

var str = "     你好 帅哦!     ";
        console.log(str.trim());
        console.log(str.trimEnd());
        console.log(str.trimStart());

18.padEnd

后面填充

var str = "我是帅哥";
        console.log(str.padStart(10, "."));
        console.log(str.padEnd(10, "."));

19.padStart

前面填充

var str = "我是帅哥";
        console.log(str.padStart(10, "."));
        console.log(str.padEnd(10, "."));

20.includes

是否包含指定的字符,包含返回true,否则false

 var str = "abc123";
        console.log(str.includes("ab"));//true

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

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

相关文章

js中运算规则

法: 有对象,对象是根据object.valueof().toString()返回的值 //toString的对象 var obj2 {toString:function(){return a} } console.log(2obj2) //输出结果2a//常规对象 var obj1 {a:1,b:2 } console.log(2obj1); //输出结果 2[object…

具体型号的CPU与GPU/CUDA计算能力实测记录

测试结果仅供参考,不一定做到非常严谨。 另外京东上查看,目前(2023年9月)i7-10700的价格好像在2000元左右;Quadro RTX 6000显卡,约2万元左右。 CUDA适合大批量的并行计算,CPU更加擅长分支预测以…

医院安全不良事件报告系统源码 PHP+ vue2+element+ laravel8+ mysql5.7+ vscode开发

不良事件上报系统通过 “事前的人员知识培训管理和制度落地促进”、“事中的事件上报和跟进处理”、 以及 “事后的原因分析和工作持续优化”,结合预存上百套已正在使用的模板,帮助医院从对护理事件、药品事件、医疗器械事件、医院感染事件、输血事件、意…

华为云云耀云服务器L实例使用教学:安装jdk和配置环境变量

最近各个平台都被华为mate60的消息霸屏了,5g麒麟,库克来了都不行 华为除了做手机,在云计算领域也有很多年的深耕,华为作为全球领先的信息和通信技术(ICT)解决方案提供商,一直以其创新的产品和服…

如何管理敏捷开发迭代,Sprint Backlog管理?

​什么是Sprint Backlog? Sprint Backlog是Scrum的主要工件之一。在Scrum中,团队按照迭代的方式工作,每个迭代称为一个Sprint。在Sprint开始之前,PO会准备好产品Backlog,准备好的产品Backlog应该是经过梳理、估算和优…

《C++ primer》练习3.17:改写单词为大写

最近看《C primer》&#xff0c;有这样一个题目 从cin读入一组词并把它们存入一个vector 对象&#xff0c;然后设法把所有词都改写为大写形式。输出改变后的结果&#xff0c;每个词占一行。 考察 怎么输入字符串怎么存入vector对象怎么对字符串字符处理 代码 #include <i…

什么是lockbit勒索病毒,中了勒索病毒怎么办?勒索病毒解密,数据恢复

lockbit是一种勒索病毒&#xff0c;是一种极具破坏性的电脑病毒&#xff0c;它利用加密技术来锁定用户文件&#xff0c;并以此为条件向用户勒索钱财。lockbit病毒的传播方式有通过电子邮件附件、恶意网站、点对点网络等多种途径进行传播。这种病毒一旦侵入电脑系统&#xff0c;…

Redis——zset类型详解

概要 zset是有序集合&#xff0c;将zset中的members引入一个属性score&#xff0c;根据这个属性值来进行排序&#xff0c;其中members不可以重复&#xff0c;score可以重复&#xff08;按照字典序排序&#xff09;&#xff0c;默认按照升序排序 有序集合中提供指定分数和元素…

使用POI实现操作Excel文件。

1、添加依赖 <dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>4.1.2</version></dependency><dependency><groupId>org.apache.poi</groupId><artifactId>poi-o…

Keras入门与残差网络的搭建

发现草稿箱里还有一篇很早之前的学习笔记&#xff0c;希望可以帮助到有需要的童鞋~ 目录 1、keras入门 2、残差网络 &#xff08;ResNet&#xff09; 2.1、恒等块 2.2、卷积块 搭建一个50层的残差网络 自己的测试数据 1、keras入门 本文参考参考 Keras模型大纲&#xff…

SSM SpringBoot vue快递柜管理系统

SSM SpringBoot vue快递柜管理系统 系统功能 登录 注册 个人中心 快递员管理 用户信息管理 用户寄件管理 配送信息管理 寄存信息管理 开发环境和技术 开发语言&#xff1a;Java 使用框架: SSM(Spring SpringMVC Mybaits)或SpringBoot 前端: vue 数据库&#xff1a;Mys…

《VulnHub》DarkHole:1

VulnHub 1&#xff1a;靶场信息2&#xff1a;打靶2.1&#xff1a;情报收集&威胁建模2.2&#xff1a;漏洞分析&渗透攻击 3&#xff1a;总结3.1&#xff1a;命令&工具3.1.1&#xff1a;Nmap 3.2&#xff1a;关键技术 VulnHub 打靶记录。官网&#xff1a;https://www.…

C++零碎记录(十)

17. 继承对象内存 17.1 查询继承对象所占内存 #include <iostream> using namespace std; #include<string>//继承中的对象模型class Base { public:int m_A; protected:int m_B; private:int m_C; };//公共继承 class Son:public Base {int m_D; };//利用开发人…

在Creo 6.0中画图模板问题

在Creo 6.0中&#xff0c;文件的默认模板是英制模板“inlbs_part_solid”,此文件模板中尺寸的单位是inch。我们建模中需要的单位是mm&#xff0c;改变Creo文件默认的单位有两种方法。 1 【新建】对话框取消勾选【使用默认模板】对话框 &#xff08;1&#xff09;单击主页选项…

从板凳围观到玩转行家:Moonbeam投票委托如何让普通用户一同参与

今年5月&#xff0c;Moonbeam发起了一项社区链上治理中投票委托反馈的调查。187位社区成员参与了这项调查&#xff0c;调查发现受访者对治理感兴趣&#xff0c;增加参与度只需要进行一些调整&#xff0c;即更简化的投票流程。 治理和去中心化是Web3的核心&#xff0c;随着Moon…

2023/9/11 qtc++

#include <iostream> #include <cstring> using namespace std; class myString { private:char *str;int size; public://无参构造myString():size(10){str new char[size]; //构造出一个长度为10的字符串strcpy(str,""); //赋值为空串}//有…

@ApiImplicitParams这个注解的作用

ApiImplicitParams这个注解的作用&#xff1f; ApiImplicitParams是一个用于描述方法参数的注解&#xff0c;它可以用在方法上&#xff0c;作用是为方法中的参数定义多个注解&#xff0c;并将这些注解集中到一个注解集中进行统一管理。通过ApiImplicitParams注解&#xff0c;我…

玩石头游戏的必胜策略-2023年全国青少年信息素养大赛Python复赛真题精选

[导读]&#xff1a;超平老师计划推出《全国青少年信息素养大赛Python编程真题解析》50讲&#xff0c;这是超平老师解读Python编程挑战赛真题系列的第17讲。 全国青少年信息素养大赛&#xff08;原全国青少年电子信息智能创新大赛&#xff09;是“世界机器人大会青少年机器人设…

Linux 操作系统云服务器安装部署 Tomcat 服务器详细教程

Tomcat 基本概述 Tomcat 服务器是Apache软件基金会&#xff08;Apache Software Foundation&#xff09;的 Jakarta 项目中的一个核心项目&#xff0c;由 Apache、Sun 和其他一些公司及个人共同开发而成。它是一个免费的开放源代码的 Web 应用服务器&#xff0c;属于轻量级应用…

融资融券开户条件和要求,融资融券开户具体流程

融资融券开户条件和要求&#xff1a;符合国家法律、行政法规规定&#xff0c;允许从事证券交易的个人和机构&#xff0c;个人客户需年满18周岁且具有完全民事行为能力&#xff0c;要求普通证券账户在公司从事证券交易不少于6个月&#xff0c;即开户需满6个月&#xff1b;拥有不…