js最实用string(字符串)类型的使用及截取与拼接详解


Posted in Javascript onApril 26, 2019

var a = '世界上最远的距离不是天涯海角';

一、通过字符获取位置或通过位置获取字符:

//指定位置返回字符
console.log(str.charAt(1));
console.log(str[1]);
//指定位置返回字符编码
console.log(str.charCodeAt(1));
 
//返回字符串位置
console.log(str.indexOf("o"));//不存在返回-1
console.log(str.lastIndexOf("o"));

在浏览器中执行结果如下:

假如现在有个变量:

var a = '世界上最远的距离不是天涯海角';

var b = '最远的距离';

现在想动态获取到变量b之前的字符串,和变量之后的字符串,则可以这样

1.利用slice获取到之前的字符串;

2.获取到变量b的长度,在b初始位置后加上b的长度,及从b的尾部截取a的长度(当然a当长度可以省略!);

二、拼接字符串:

一般有两种:

a.直接用“+”;

b.concat函数

三、切割方法

console.log(str.slice(3,7));//开始、结束(有开始、有结束)
console.log(str.substring(3,7));//开始、结束(有开始、有结束)
console.log(str.substr(3,7));//开始、长度(有开始、无结束、有长度)
 
console.log(str.slice(-3,-2));//第一个负值与长度相加,第二个负值与长度相加
console.log(str.substring(3,-1));//第一个负值转换为0,第二个负值转换为0,如果开始大于结束,则对调
console.log(str.substr(-3,-1));//第一个负值与长度相加,第二个负值转换为0

下面看个例子:

var type可为dir/file

if (type !== 'dir' && name.indexOf('.') !== -1) {//file
 basename=name.substr(0,name.lastIndexOf('.'));
 extension=name.substr(name.lastIndexOf('.'));
} else {//dir
 basename=name;
 extension=false;
}


//中文

四、去掉前后空格

var strValue = " hello world! ";
var trimedStrValue = strValue.trim();
console.log(strValue);
console.log(trimedStrValue);

五、大小写转换方法

var strLowUp = "HELLO world!";
console.log(str.toLowerCase());
console.log(str.toUpperCase());
console.log(strLowUp);

六、与模式有关的方法,调用者为字符串,参数为模式(正则对象或正则表达式或字符串)

1、匹配方法,本质上与调用RegExp的exec()方法相同(调用者为正则表达式或正则对象,参数为字符串)
 //返回数组对象,第一项为匹配到的字符串,其它项为捕获组匹配到的字符串
//返回对象同时具有index和input属性,index为匹配到字符串的索引,input为进行匹配的字符串str

 2、查询/搜索方法
 //返回值为匹配字符的索引,如未查询到则返回-1

 search() 方法用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串。

3、替换方法,两个参数,用参数二替换参数一,参数一为字符串或正则表达式,参数二为字符串或函数

a. //正则

b. 字符串

c. 函数

//如果第二个参数是函数
//函数接收的参数为:匹配到的子字符串、
  第一个捕获组匹配到的子字符串、
  第二个捕获组匹配到的子字符串...、模式匹配项的索引、原始字符串
var repStr = str.replace(/at/g,function(match,index,input){
console.log(match);//at
console.log(index);//
console.log(input);//cat,bat,sat,fat
return "an";
});
 
console.log(repStr);//can,ban,san,fan

4、分割方法,将字符串按照指定的分隔符分割为多个子字符串

//返回值为存放多个子字符串的数组
var str = "red,blue,green,yellow";
var strArray = str.split(",");
var strArray = str.split(/[^\,]+/);//匹配所有不是逗号字符作为分隔符
console.log(strArray);//["red", "blue", "green", "yellow"]
 
//第二个参数用于控制数组的长度
var strArray = str.split(",",2);
console.log(strArray);//["red", "blue", "green", "yellow"]

七、比较方法,返回值为1(>0)、0、-1(<0)

var strValue = "yellow";
console.log(strValue.localeCompare("brick"));//>0
console.log(strValue.localeCompare("yellow"));//0
console.log(strValue.localeCompare("zoo"));//<0

以上所述是小编给大家介绍的js string使用截取与拼接详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
ppk谈JavaScript style属性
Oct 10 Javascript
使用Mootools动态添加Css样式表代码,兼容各浏览器
Dec 12 Javascript
Javascript异步编程的4种方法让你写出更出色的程序
Jan 17 Javascript
如何学习Javascript入门指导
Nov 01 Javascript
使用CSS3的scale实现网页整体缩放
Mar 18 Javascript
AngularJS基础 ng-init 指令简单示例
Aug 02 Javascript
JS仿JQuery选择器功能
Mar 08 Javascript
尝试自己动手用react来写一个分页组件(小结)
Feb 09 Javascript
微信小程序顶部导航栏滑动tab效果
Jan 28 Javascript
谈谈JavaScript中super(props)的重要性
Feb 12 Javascript
ES6中Symbol、Set和Map用法详解
Aug 20 Javascript
vue路由缓存的几种实现方式小结
Feb 02 Javascript
微信小程序实现的绘制table表格功能示例
Apr 26 #Javascript
Vue使用Canvas绘制图片、矩形、线条、文字,下载图片
Apr 26 #Javascript
微信小程序如何修改本地缓存key中单个数据的详解
Apr 26 #Javascript
js验证身份证号码记录的方法
Apr 26 #Javascript
详解VScode编辑器vue环境搭建所遇问题解决方案
Apr 26 #Javascript
react高阶组件添加和删除props
Apr 26 #Javascript
详解微信小程序-canvas绘制文字实现自动换行
Apr 26 #Javascript
You might like
PHP错误抑制符(@)导致引用传参失败Bug的分析
2011/05/02 PHP
关于js和php对url编码的处理方法
2014/03/04 PHP
深入理解PHP中的Streams工具
2015/07/03 PHP
记录一次排查PHP脚本执行卡住的问题
2016/12/27 PHP
PHP7如何开启Opcode打造强悍性能详解
2018/05/11 PHP
PHP信号处理机制的操作代码讲解
2019/04/19 PHP
Cookie跨域问题解决方案代码示例
2020/11/24 PHP
JScript中使用ADODB.Stream判断文件编码的代码
2008/06/09 Javascript
JavaScript 继承详解(二)
2009/07/13 Javascript
jquery全选/全不选/反选另一种实现方法(配合原生js)
2013/04/07 Javascript
jquery 实现密码框的显示与隐藏示例代码
2013/09/18 Javascript
基于NodeJS的前后端分离的思考与实践(三)轻量级的接口配置建模框架
2014/09/26 NodeJs
JavaScript组件焦点与页内锚点间传值的方法
2015/02/02 Javascript
JavaScript对Cookie进行读写操作实例
2015/07/25 Javascript
利用Jquery队列实现根据输入数量显示的动画
2016/09/01 Javascript
Bootstrap的class样式小结
2016/12/01 Javascript
JS与jQuery实现子窗口获取父窗口元素值的方法
2017/04/17 jQuery
Vue声明式渲染详解
2017/05/17 Javascript
JavaScript之promise_动力节点Java学院整理
2017/07/03 Javascript
AngularJS 打开新的标签页实现代码
2017/09/07 Javascript
Vue中封装input组件的实例详解
2017/10/17 Javascript
jQuery实现checkbox的简单操作
2017/11/18 jQuery
详解webpack提取第三方库的正确姿势
2017/12/22 Javascript
微信小程序实现的涂鸦功能示例【附源码下载】
2018/01/12 Javascript
详解MySQL数据类型int(M)中M的含义
2016/11/20 Python
Python+request+unittest实现接口测试框架集成实例
2018/03/16 Python
numpy linalg模块的具体使用方法
2019/05/26 Python
Django框架 信号调度原理解析
2019/09/04 Python
解决django-xadmin列表页filter关联对象搜索问题
2019/11/15 Python
python GUI库图形界面开发之PyQt5拖放控件实例详解
2020/02/25 Python
Python爬取12306车次信息代码详解
2020/08/12 Python
简述安装Slackware Linux系统的过程
2012/01/12 面试题
业务经理岗位职责
2013/11/11 职场文书
公司面试感谢信
2014/02/01 职场文书
社区文明创建工作总结2015
2015/04/21 职场文书
小学运动会入场口号
2015/12/24 职场文书