前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >最全字符串函数,总有你用到的~

最全字符串函数,总有你用到的~

作者头像
前端老王
发布于 2020-11-26 06:33:56
发布于 2020-11-26 06:33:56
37200
代码可运行
举报
文章被收录于专栏:前端时空前端时空
运行总次数:0
代码可运行

在日常开发中,我们难免要和字符串打交道,各种各样的功能都可能用到上面的字符串函数,本文参考网上文章,W3C资料,以及自己平常开发中的高频需求整理形成,希望能够帮到有需要的人。

1、通过字符串函数获取字符串指定位置字符

1.1 charAt()

从某个字符串取得具体的字符,如果index的位置不在字符串中则返回空字符串

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
let str = 'JsCoding';
// 语法
demo.charAt(index)
// demo
str.charAt(3)   =>  'o'

1.2 charCodeAt()

和chartAt()用法类似,只不过返回的是字符串的Unicode。同理,如果index下标不在字符串中,则返回空。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
let str = 'JsCoding';
// 语法
demo.charCodeAt(index)
// demo
str.charCodeAt(3)   =>  '111'

2、通过字符串函数对字符串的样式进行改变

2.1 big

将字符串字号变大,并返回新的字符串。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
let txt = 公众号:前端时空
txt.big()

2.2 small

将字符串字号变小,并返回新的字符串。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
let txt = 公众号:前端时空
txt.small()

2.3 bold

将字符串字体加粗,并返回新的字符串。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
let txt = 公众号:前端时空
txt.bold()

2.4 italics

将字符串设为斜体,并返回新的字符串。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
let txt = 公众号:前端时空
txt.italics()

2.5 blink

将字符串设为闪动,并返回新的字符串。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
let txt = 公众号:前端时空
txt.blink()

2.6 fixed

将字符串以打印机文本显示,并返回新的字符串。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
let txt = 公众号:前端时空
txt.fixed()

2.7 strike

将字符串加上删除线,并返回新的字符串。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
let txt = 公众号:前端时空
txt.strike()

2.8 fontcolor

设置字符串指定颜色,并返回新的字符串。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
let txt = 公众号:前端时空
txt.fontcolor('Blue')

2.9 fontsize

设置字符串指定字号,并返回新的字符串。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
let txt = 公众号:前端时空
txt.fontsize(22)

2.10 toLowerCase

将字符串转化为小写,并返回新的字符串。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
let txt = 公众号:前端时空
txt.toLowerCase()

2.11 toUpperCase

将字符串转化为大写,并返回新的字符串。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
let txt = 公众号:前端时空
txt.toUpperCase()

2.12 sub

将字符串显示为下标,并返回新的字符串。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
let txt = 公众号:前端时空
txt.sub()

2.13 sup

将字符串显示为上标,并返回新的字符串。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
let txt = 公众号:前端时空
txt.sup()

2.14 link

将字符串显示为链接,并返回新的字符串。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
let txt = 公众号:前端时空
txt.link()

Demo戳阅读原文查看!!

3、判断指定字符是否出现在字符串中,并返回其位置

3.1 indexOf()

判断指定字符首次出现在字符串中的位置,没有则返回-1。检查方式从前往末尾,下标0开始。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
let str = 'JsCoding';
// 语法 value => 指定字符,startindex => 指定位置开始
demo.indexOf(value,startindex)
// demo
str.indexOf('s')   =>  1
str.indexOf('s', 3)   =>  -1

3.2 lastIndexOf()

判断指定字符最后一次出现在字符串中的位置,没有则返回-1,检查方式为从末尾往前。如果指定的value值在指定位置之前,则返回的是最后一个出现value的位置。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
let str = 'JsCoding';
// 语法 value => 指定字符,startindex => 指定位置开始
demo.lastIndexOf(value,startindex)
// demo
str.lastIndexOf('s')   =>  1
str.lastIndexOf('s', 3)   =>  1

注意:indexOf() 和 lastIndexOf() 都区分大小写。

4、对字符串进行操作

4.1 replace()

用于字符串中以指定字符替换指定字符。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
let str = 'JsCoding';
// 语法 regexp/substr => 需要替换的文本或正则对象,replaceText => 替换的文本
demo.replace(regexp/substr,replaceText)
// demo
str.replace(/JsCoding/, 'JsCoding:是执行上下文的微信号')   
// 结果 => 
"JsCoding:是执行上下文的微信号"

4.2 slice()

获取字符串中的某个部分,并返回获取的部分。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
let str = 'JsCoding';
// 语法 start => 起始位置,end => 结束位置
demot.slice(start,end)
// demo
str.slice(1,3)   
// 结果 => 
"sC"

4.3 substr()

获取字符串从指定位置开始,指定长度的字符。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
let str = 'JsCoding';
// 语法 start => 起始位置,length => 长度
demo.substr(start,length)
// demo
str.substr(1,3)   
// 结果 => 
"sCo"

4.4 substring()

获取字符串指定区间的字符。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
let str = 'JsCoding';
// 语法 start => 起始位置必须为存在的下标,end => 结束位置可以为负数,则往前寻找。
demo.substring(start,end)
// demo
str.substring(1,3)   
// 结果 => 
"sC"

str.substring(3,-3)   
// 结果 => 
"JsC"

如果start === end 则返回空。

4.5 split()

将字符串分割成字符串数组。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
let str = 'JsCoding';
// 语法 separator => 字符串or表达式,howmany => 分割字符串的长度。
demo.split(separator,howmany)
// demo
str.split('' ,3)   
// 结果 => 
["J", "s", "C"]

str.split('')   
// 结果 => 
["J", "s", "C", "o", "d", "i", "n", "g"]

4.6 match()

返回所有查找的关键字内容的数组。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
let str = 'JsCoding';
let reg = /di/ig;

// 语法 searchvalue => 检索的字符串值,regexp => 匹配的RegExp对象。
demo.match(searchvalue or  RegExp)
// demo
str.match(reg)
// 结果 => 
["di"]

str.match('di')   
// 结果 => 
["di"]

注意:String 对象的方法 slice()、substring() 和 substr() (不建议使用)都可返回字符串的指定部分。slice() 比 substring() 要灵活一些,因为它允许使用负数作为参数。slice() 与 substr() 有所不同,因为它用两个字符的位置来指定子串,而 substr() 则用字符位置和长度来指定子串。

5、其他

anchor()

用来创建HTML锚

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
let text = '前端时空'
text.anchor('前端公众号')

// 结果:
<a name="前端公众号">前端时空</a>

6、日常小用途

6.1 将 'Coding, Js' => 'Js Coding'

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var str = "Coding, Js";
str.replace(/(\w+)\s*, \s*(\w+)/, "$2 $1");

// 结果

"Js Coding"

6.2 将双引号变成单引号

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var str = '"Js", "Coding"'
str.replace(/"([^"]*)"/g, "'$1'");

// 结果

"'Js', 'Coding'"

6.3 将字符串第一个字母改为大写

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var str = 'jjj sss ccc';
zhuan = str.replace(/\b\w+\b/g, function(c){
  return c.substring(0,1).toUpperCase() + c.substring(1);}
)

// 结果

"Jjj Sss Ccc"

6.4 将字符串中指定字符替换成指定字符

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var str = 'ccadjlkj3kajgl2lkjalg'
str.replace(/d/, '公众号:前端时空')

// 结果

"cca公众号:前端时空jlkj3kajgl2lkjalg"
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-11-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 前端时空 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
「Spring源码分析」Environment
表示当前应用系统正在运行的环境,为 profiles 和 properties 这两个重要的方面提供模型,Environment接口定义了处理profiles的相关方法,而访问property的有关方法由父接口PropertyResolver定义
花言不知梦
2020/05/14
1.6K0
「Spring源码分析」Environment
基于SpringBoot的Environment源码理解实现分散配置
org.springframework.core.env.Environment是当前应用运行环境的公开接口,主要包括应用程序运行环境的两个关键方面:配置文件(profiles)和属性。Environment继承自接口PropertyResolver,而PropertyResolver提供了属性访问的相关方法。这篇文章从源码的角度分析Environment的存储容器和加载流程,然后基于源码的理解给出一个生产级别的扩展。
Throwable
2020/06/23
1.9K0
6 种方式读取 Springboot 的配置,老鸟都这么玩(原理+实战)
从配置文件中获取属性应该是SpringBoot开发中最为常用的功能之一,但就是这么常用的功能,仍然有很多开发者在这个方面踩坑。
程序员小富
2023/06/16
15K1
Spring系列一之springboot启动(上)
从以上代码中可以看出,整个启动流程还是比较清晰的,下面依次来看看每个步骤的具体逻辑
用户9511949
2024/08/01
1300
Apollo与SpringBoot整合原理深度剖析
AbstractBeanFactory的embeddedValueResolvers集合中StringValueResolver 的注册时机是什么呢?
大忽悠爱学习
2023/05/23
1.1K0
Apollo与SpringBoot整合原理深度剖析
spring-boot-2.0.3不一样系列之源码篇 - run方法(二)之prepareEnvironment,绝对有值得你看的地方
  此系列是针对springboot的启动,旨在于和大家一起来看看springboot启动的过程中到底做了一些什么事。如果大家对springboot的源码有所研究,可以挑些自己感兴趣或者对自己有帮助的看;但是如果大家没有研究过springboot的源码,不知道springboot在启动过程中做了些什么,那么我建议大家从头开始一篇一篇按顺序读该系列,不至于从中途插入,看的有些懵懂。当然,文中讲的不对的地方也欢迎大家指出,有待改善的地方也希望大家不吝赐教。老规矩:一周至少一更,中途会不定期的更新一些其他的博客,可能是springboot的源码,也可能是其他的源码解析,也有可能是其他的。
青石路
2018/10/10
1.4K2
spring-boot-2.0.3不一样系列之源码篇 - run方法(二)之prepareEnvironment,绝对有值得你看的地方
Spring读源码系列番外篇---03---PropertyResolver的结构体系剖析---下
Spring读源码系列番外篇—02—PropertyResolver的结构体系剖析—上
大忽悠爱学习
2022/05/10
4470
Spring读源码系列番外篇---03---PropertyResolver的结构体系剖析---下
springboot启动流程(三)Environment简介
上一篇文章中,我们简单了解了一下SpringApplication的run方法的代码逻辑。
技术从心
2021/02/03
8120
springboot启动流程(三)Environment简介
SpringBoot系列-配置解析
在日常的开发和运维过程中,可以说配置都是及其重要的,因为它可能影响到应用的正常启动或者正常运行。相信在之前 Spring xml 时代,很多人都会被一堆 xml 配置折腾的够呛,除此之外,还有像数据库连接配置、缓存配置、注册中心配置、消息配置等等,这些相信大家都不会陌生。
安徽开发者圈
2020/03/02
1.2K0
聊聊Spring的环境抽象Environment,以及配置@Profile使用详解(介绍profile的6种激活方式)【享学Spring】
在我刚入行不久时,总是对上下文(Context)、环境(Environment)这类抽象概念搞不清楚、弄不明白、玩不转,更是不懂它哥俩的区别或者说是联系(说实话从中文上来说不好区分,至少我是这么认为的)。 直到现在,我可以根据自己的理解对这两者下个通俗易懂的定义(不喜勿喷):
YourBatman
2019/09/03
2.7K0
聊聊Spring的环境抽象Environment,以及配置@Profile使用详解(介绍profile的6种激活方式)【享学Spring】
【Spring Boot 四】启动之准备系统环境environmentPrepared
SpringBoot启动的时候 listeners.starting() ;接下来就是准备环境的过程
石臻臻的杂货铺[同名公众号]
2021/07/14
9490
聊聊DubboDefaultPropertiesEnvironmentPostProcessor
本文主要研究一下DubboDefaultPropertiesEnvironmentPostProcessor
code4it
2019/08/19
6000
聊聊DubboDefaultPropertiesEnvironmentPostProcessor
SpringBoot源码解析(五):准备应用环境
SpringBoot源码解析(二):引导上下文DefaultBootstrapContext
冬天vs不冷
2025/01/20
1800
SpringBoot源码解析(五):准备应用环境
SpringApplication到底run了什么(上)
这里构造时仅仅加载了一个EventPublishingRunListener类,所以咱们就来解析一下这个东东
Java学习录
2019/09/25
6240
SpringBoot启动原理源码分析-第一篇
以IDEA通过Spring Initializer方法创建的Spring boot项目为基础,分析Spring boot的启动原理。
用户10198968
2022/11/16
1.6K1
SpringBoot启动原理源码分析-第一篇
如何优雅的加密配置文件中的敏感信息
我们平时的项目中,会在配置文件中配置一些敏感信息,比如配置数据库账号、密码等信息。如果我们将配置文件与代码一起打包,别人拿到jar包后很有可能反编译jar,从而获取里面的配置文件信息。如果有人对数据库信息恶意破坏,那么就会产生不可估量的损失。
Lvshen
2022/05/05
3K0
如何优雅的加密配置文件中的敏感信息
从 SpringApplication 认识 Spring 应用启动过程
BootstrapRegistryInitializer:回调接口,用于 BootstrapRegistry 初始化。
WindWant
2023/06/18
5990
Spring Boot 属性加载原理解析
在《Spring Boot 框架整体启动流程详解》中,我们了解到有一步是准备环境prepareEnvironment,属性加载就是在这一步开始的。
阿提说说
2023/10/16
4400
Spring Boot 属性加载原理解析
Spring中PropertySource属性源配置文件的优先级、顺序问题大解析(加载流程)【享学Spring】
关于Spring的配置文件的优先级、加载顺序一直是个老生常谈的问题。但即使经常被提起,却还是经常被忘记或者弄混。有一种听了很多道理但仍过不好这一生的赶脚有木有。
YourBatman
2019/09/03
7.5K0
Spring中PropertySource属性源配置文件的优先级、顺序问题大解析(加载流程)【享学Spring】
SpringBoot读取配置文件源码探究
继续,重点是invokeListener方法,去调用监听器事件,可以想象对配置文件来讲,这就是读取配置事件了。同时监听器有很多,读取配置文件的监听器是ConfigFileAplicationListener,看名字还是蛮明显的吧
老梁
2019/08/29
3.1K0
推荐阅读
相关推荐
「Spring源码分析」Environment
更多 >
LV.2
这个人很懒,什么都没有留下~
目录
  • 1、通过字符串函数获取字符串指定位置字符
    • 1.1 charAt()
    • 1.2 charCodeAt()
  • 2、通过字符串函数对字符串的样式进行改变
    • 2.1 big
    • 2.2 small
    • 2.3 bold
    • 2.4 italics
    • 2.5 blink
    • 2.6 fixed
    • 2.7 strike
    • 2.8 fontcolor
    • 2.9 fontsize
    • 2.10 toLowerCase
    • 2.11 toUpperCase
    • 2.12 sub
    • 2.13 sup
    • 2.14 link
  • 3、判断指定字符是否出现在字符串中,并返回其位置
    • 3.1 indexOf()
    • 3.2 lastIndexOf()
  • 4、对字符串进行操作
    • 4.1 replace()
    • 4.2 slice()
    • 4.3 substr()
    • 4.4 substring()
    • 4.5 split()
    • 4.6 match()
  • 5、其他
    • anchor()
  • 6、日常小用途
    • 6.1 将 'Coding, Js' => 'Js Coding'
    • 6.2 将双引号变成单引号
    • 6.3 将字符串第一个字母改为大写
    • 6.4 将字符串中指定字符替换成指定字符
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档