js最实用string(字符串)类型的使用及截取与拼接详解
var a = '世界上最远的距离不是天涯海角';
一、通过字符获取位置或通过位置获取字符:
//指定位置返回字符
console.log(str.charAt(1));
console.log(str[1]);
//指定位置返回字符编码console.log(str.charCodeAt(1));
//返回字符串位置console.log(str.indexOf("o"));
//不存在返回-1console.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使用截取与拼接详解整合,希望对大家有所帮助
js最实用string(字符串)类型的使用及截取与拼接详解的更多相关文章
- redis:string字符串类型的操作
1. string字符串类型的操作: 1.1. set 设置单个值 语法:set key value [EX seconds] [PX milliseconds] [NX|XX] 注: EX seco ...
- 数据类型总结——String(字符串类型)
相关文章 简书原文:https://www.jianshu.com/p/546a755c3eb6 数据类型总结——概述:https://www.cnblogs.com/shcrk/p/9266015. ...
- JavaScript数据类型 String字符串类型
前言 javascript没有表示单个字符的字符型,只有字符串String类型,字符型相当于仅包含一个字符的字符串 字符串String是javascript基本数据类型,同时javascript也支持 ...
- Java String 函数常用操作 & format() 格式化输出,代码详解
package _String_; import java.util.*; import java.math.*; import java.lang.*; public class _Strings ...
- js中forEach,for in,for of循环的用法详解
一.一般的遍历数组的方法: var array = [1,2,3,4,5,6,7]; for (var i = 0; i < array.length; i) { console.log(i,a ...
- js将某个值转换为String字符串类型或转换为Number数字类型
将某个值转换为String类型 1. value.toString() toString()方法返回一个表示该对象的字符串 var a = 123 a.toString() // '123' 2. & ...
- JavaScript数据类型 String字符串类型的属性和方法
属性 字符串String类型的每个实例都有一个length属性,表示字符串中的字符个数.由于字符串是不可变的,所以字符串的长度也不可变 字符串的length属性不会在for/in循环中枚举,也不能通过 ...
- 如何将int整型转换成String字符串类型
自动类型转换适用于兼容类型之间从小范围到大范围数据的转换. nt转换成String int i = 10; int b=1: System.out.pritnln(a + b); 里面靠近字符串,所以 ...
- 4.String字符串类型操作
String类型操作 1.set key value 设置key对应的值为string类型的value 2.mset key1 value1 … keyN valueN 一次设置多个key的值 3. ...
随机推荐
- python_装饰器
越来越觉得写一点技术博客是有多么重要了,明日复明日,现在就开始写吧! 1. 普通装饰器 装饰器的写法是一种语法糖,装饰器也还是一个函数而已,它接收一个函数对象作为参数,并返回一个新函数,主要是拓展原函 ...
- c# statusStrip控件(转)
先了解一下StatusStrip:首选StatusStrip是Form中的一个控件,同时也是一个大的控件,其中含有许多子控件,这些子控件存放在控件群中. 这样我们要使用StatusStrip时, 首先 ...
- FPGA——入手(零)
前几天正点原子团队退出了FPGA开发板,我就买了一套.我想的是,多学一点东西,即使到最后积累下的东西少,但是面是广的,以后可以更好的选择一种深入.就入手了新起点FPGA开发板,新起点算是开拓者的阉割版 ...
- SQL Select 语句小数位数影响计算的准确率的问题
在财务数据计算中,特别是分摊过程中,0.0001% 和0.00012%看似极小的差异,但是会造成最后求和很大的差异,因此,我们在计算中需要尽可能多的保留占比的小数位数 可以在SELECT CONVER ...
- Linux网络编程学习(八) ----- 文件和记录锁定(第四章)
1.什么是文件和记录锁定? 文件锁定的是整个文件,而记录锁定只锁定文件的一部分,文件和记录锁分为咨询式锁定和强制锁定 1)咨询式锁定 某个进程对某个文件进行了咨询式锁定,其他想访问该文件的进程将会被操 ...
- vue 动态添加 <style> 样式 vue动态添加 绑定自定义字体样式
created(){ //动态添加自定义字体样式 let style = document.createElement('style'); style.type = "text/css&qu ...
- Spring再接触 集合注入
beans.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="htt ...
- Maven中聚合与集成的区别
如test-parent是一个聚合工程,打包方式为pom.xml test-a是test-parent的一个moudle模块,打包方式为jar,并且继承自test-parent: test-b是tes ...
- JS数据类型之Number类型
Number类型的转换及方法 var num = 10; num.toString() //"10"转字符串,参数表示几进制 num.toFixed(2) //10.00 自动舍入 ...
- docker学习-lnmp+redis之搭建mysql容器服务
一. 前期准备工作,创建配置文件目录,log文件目录,数据库DATA和WEB站点目录[root@T1 ~]# mkdir -p /lnmp/conf/{mysql,nginx,php} /lnmp/l ...