学习中 常用到的string内置对象方法的总结
//concat() – 将两个或多个字符的文本组合起来,返回一个新的字符串。
var str = "Hello";
var out = str.concat(" World","!");
console.log(str); //Hello
console.log(out); //Hello World!
//charAt() – 返回指定位置的字符。
var str = "HelloString";
var out = str.charAt(1);
console.log(out); //e
//charCodeAt() – 返回在指定的位置的字符的 Unicode 编码。
var str = "HelloString";
var out = str.charCodeAt(5);
console.log(out); //83
//indexOf(searchvalue,fromindex) – 返回字符串中一个子串第一处出现的索引,如果没有匹配项,返回 -1 。
//fromindex是可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是 0 到 stringObject.length - 1。
//如省略该参数,则将从字符串的首字符开始检索,此时indexOf()跟search()方法类似。
var str = "HelloStringend";
console.log(str.indexOf("e")); //1
console.log(str.indexOf("e",2)); //11
//lastIndexOf(searchvalue,fromindex) – 返回字符串中一个子串最后一处出现的索引,如果没有匹配项,返回 -1 。
//如果在 stringObject 中的 fromindex 位置之前存在 searchvalue,则返回的是出现的最后一个 searchvalue 的位置。
var str = "HelloString";
console.log(str.lastIndexOf("l")); //3
console.log(str.lastIndexOf("l", 1)); //-1
console.log(str.lastIndexOf("l", 2)); //2
console.log(str.lastIndexOf("l", 3)); //3
//substring(start,end) – 返回一个新的字符串,包括 start 处的字符,但不包括 end 处的字符,其长度为 end 减 start
//substring是以两个参数中较小一个作为起始位置,较大的参数作为结束位置。
//注意:如果参数是负数,substring则会将负参数都直接转换为0,如果仅有一个参数,则从start开始到末尾。
var str = "HelloExample";
console.log(str); //HelloExample
console.log(str.substring(1, 3)); //el
console.log(str.substring(3, 1)); //el
console.log(str.substring(2)); //lloExample
console.log(str.substring(-1)); //HelloExample
console.log(str.substring(-1, -3)); //空字符串
console.log(str.substring(-1, 5)); //Hello
//substr(start [,length]) – 返回一个新的字符串,从起始索引号提取字符串中指定数目的字符。
//如果仅有一个参数,则从start开始到末尾。
//当接收的参数是负数时,substr是将第一个参数与字符串长度相加后的结果作为第一个参数
var str = "HelloExample";
console.log(str); //HelloExample
console.log(str.substr(1, 3)); //ell
console.log(str.substr(2, -1)); //空字符串
console.log(str.substr(1)); //elloExample
console.log(str.substr(-4, 2)); //mp
console.log(str.substr(-3)); //ple
//stringObject.slice(start,end) 返回一个新的字符串,包括 start 处的字符,但不包括 end 处的字符,其长度为 end 减 start
//当接收的参数是负数时,slice会将它字符串的长度与对应的负数相加,结果作为参数。如果仅有一个参数,则从start开始到末尾。
var str = "HelloExample";
console.log(str); //HelloExample
console.log(str.slice(1, 3)); //el
console.log(str.slice(2)); //lloExmaple
console.log(str.slice(3, 1)); //空字符串
console.log(str.slice(-4, -1)); //mpl
console.log(str.slice(-4, 0)); //空字符串
console.log(str.slice(-1, -4)); //空字符串
console.log(str.slice(1, -4)); //elloExa
//toLowerCase() – 将整个字符串转成小写字母。
//toLowerCase() – 将整个字符串转成小写字母。
var str = "How Are you";
console.log(str.toLowerCase()); //how are you
console.log(str.toUpperCase()); //HOW ARE YOU
/***********************************************/
/********支持正则表达式的 String 对象的方法*****/
/***********split,match,replace,search**********/
/***********************************************/
//stringObject.split(separator,howmany),返回一个字符串数组。该数组是通过在 separator 指定的边界处将字符串 stringObject 分割成子串创建的。返回的数组中的字串不包括 separator 自身。
var str = "How are you doing today";
console.log(str.split(" ")); //["How", "are", "you", "doing", "today"]
console.log(str); //How are you doing today
console.log(str.split("")); //["H", "o", "w", " ", "a", "r", "e", " ", "y", "o", "u", " ", "d", "o", "i", "n", "g", " ", "t", "o", "d", "a", "y"]
console.log(str.split("", 3)); //["H", "o", "w"]
console.log(str.split("a")); //["How ", "re you doing tod", "y"]
console.log(str.split("good")); //["How are you doing today"]
var str = "a_db-c(d+e";
console.log(str.split(/[^a-z]/i)); //["a", "db", "c", "d", "e"]
/** match(searchvalue) 或 match(regexp)检查一个字符串是否匹配一个正则表达式。返回存放匹配结果的数组。
match() 方法将检索字符串 stringObject,以找到一个或多个与 regexp 匹配的文本。这个方法的行为在很大程度上有赖于 regexp 是否具有标志 g。
如果 regexp 没有标志 g,那么 match() 方法就只能在 stringObject 中执行一次匹配。如果没有找到任何匹配的文本, match() 将返回 null。否则,它将返回一个数组,其中存放了与它找到的匹配文本有关的信息。该数组的第 0 个元素存放的是匹配文本,而其余的元素存放的是与正则表达式的子表达式匹配的文本。除了这些常规的数组元素之外,返回的数组还含有两个对象属性。index 属性声明的是匹配文本的起始字符在 stringObject 中的位置,input 属性声明的是对 stringObject 的引用。
如果 regexp 具有标志 g,则 match() 方法将执行全局检索,找到 stringObject 中的所有匹配子字符串。若没有找到任何匹配的子串,则返回 null。如果找到了一个或多个匹配子串,则返回一个数组。不过全局匹配返回的数组的内容与前者大不相同,它的数组元素中存放的是 stringObject 中所有的匹配子串,而且也没有 index 属性或 input 属性。
**/
var str = "Hello world! Hello";
console.log(str.match("lo")); //["lo"] { index: 3, input: "Hello world! Hello" }
console.log(str.match("world")); //["world"] { index: 6, input: "Hello world! Hello" }
console.log(str.match("world").index); //6
console.log(str.match(/Hello/g)); //["Hello", "Hello"]
console.log(str.match("World")); //null
var str = "1 plus 2 equal 3";
console.log(str.match(/\d+/g)); //["1", "2", "3"]
//replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。
//stringObject.replace(regexp/substr,replacement),返回一个新的字符串,是用 replacement 替换了 regexp 的第一次匹配或所有匹配之后得到的。
//replacement 可以是字符串,也可以是函数。如果它是字符串,那么每个匹配都将由字符串替换。但是 replacement 中的 $ 字符具有特定的含义,它说明从模式匹配得到的字符串将用于替换。
// $1、$2、...、$99----与 regexp 中的第 1 到第 99 个子表达式相匹配的文本。
// $&------------------与 regexp 相匹配的子串。
// $`------------------位于匹配子串左侧的文本。
// $'------------------位于匹配子串右侧的文本。
// $$------------------直接量符号。
var str = "Visit HangZhou";
console.log(str); //Visit HangZhou
console.log(str.replace(/Hang/g, "Su")); //Visit SuZhou
var str = "1 plus 2 equal 3";
console.log(str); //1 plus 2 equal 3
console.log(str.replace(/(\d)/g, "*")); //* plus * equal *
var str = "as An angle";
console.log(str.replace(/a/, "b")); //bs An angle
console.log(str.replace(/a/g, "b")); //bs An bngle
console.log(str.replace(/a/gi, "b")); //bs bn angle
var str = "Karl,John";
console.log(str.replace(/(\w+)\s*,\s*(\w+)/, "$2,$1")); //John,Karl
var str = '"ab", "b"';
console.log(str.replace(/"([^"]*)"/g, "'$1'")); //'ab', 'b'
var str = "aaa bbb ccc";
console.log(str.replace(/\b\w+\b/g, function (w) {
return w.substring(0, 1).toUpperCase() + w.substring(1);
})); //Aaa Bbb Ccc
//search() – 执行一个正则表达式匹配查找。如果查找成功,返回字符串中匹配的索引值。否则返回 -1 。
//stringObject.search(regexp) 返回stringObject 中第一个与 regexp 相匹配的子串的起始位置。
//此方法跟indexOf类似。此方法会忽略g标识
var str = "Visit HangZhou";
console.log(str) //Visit HangZhou
console.log(str.search(/Hang/)); //6
console.log(str.search(/hang/)); //-1
console.log(str.search(/hang/i)); //6
var str = "1 plus 2 equal 3";
console.log(str) //1 plus 2 equal 3
console.log(str.search(/\d/g)); //0
学习中 常用到的string内置对象方法的总结的更多相关文章
- freemarker 中可以直接使用的内置对象
freemarker 中可以直接使用的内置对象 需要配置一下:springboot中配置 ## Freemarker \u914D\u7F6E ## \u6587\u4EF6\u914D\u7F6E\ ...
- 【转】JS内置对象方法
String内置对象的方法 1. concat() concat() – 将两个或多个字符的文本组合起来,返回一个新的字符串 var str = "Hello"; var out ...
- JSP最常用的五种内置对象(out,request,response,session,application)
为了简化开发过程,JSP提供了一些内置对象,它们由容器实现和管理.开发者在JSP页面中无需声明,无需实例化就可使用.主要有out,request,response,session,applicatio ...
- JSP学习笔记(3)-JSP内置对象
有些对象不用声明就可以在JSP页面的Java程序片和表达式部分使用,这些对象就是JSP的内置对象. JSP常用的内置对象有request,response,session,application,o ...
- JSP学习 三大指令、九个内置对象、JavaBean、EL表达式
1.page-->最复杂:<%@page language="java" info="xxx"...%> * pageEncoding和con ...
- JSP中的Java代码和内置对象
一.JSP中的Java代码 (一)JSP页面中有三种方式嵌入java代码: 1.java的表达式 格式:<%= java表达式 %> 2.java的语句 格式:<% java语句&g ...
- Math、Date内置对象方法整理
Math : 内置的对象(构造函数)静态属性或静态方法. 一. Math.PI : 圆周率 ...
- python中表示False的一些内置对象
By default, an object is considered true unless its class defines either a __bool__() method that re ...
- IntelliJ IDEA的jsp中内置对象方法无法被解析的解决办法
主要原因是因为缺乏依赖 可以通过添加依赖的方式 导入servlet-api.jar,jsp-api.jar,tomcat-api.jar 这三个jar即可 这三个jar在tomcat的lib目录下有 ...
随机推荐
- [洛谷P2370]yyy2015c01的U盘
题目大意:有n个文件,每个文件有一个大小和价值,有一个容量为s的U盘,要装这些文件.传输文件需要接口,一个大小为k的接口能传输的最大文件的大小为k.问最少要多大的接口,才能使传输的文件价值$\ge p ...
- BZOJ 2741 L (可持久化01Trie+分块)
题目大意:给你一个序列,共有$q$个询问,每次询问区间$[L,R]$内最大连续字段异或和,强制在线,$n<=12000,m<=5000$ 有个细节没处理好$WA$了好久..还有一次$ans ...
- Rancher介绍安装以及对docker的管理
原文:Rancher介绍安装以及对docker的管理 一.简介 Rancher是一个开源的企业级全栈化容器部署及管理平台.Rancher为容器提供一揽子基础架构服务:CNI兼容的网络服务.存储服务.主 ...
- WPF 列表自动换行
原文:WPF 列表自动换行 本文告诉大家如何在 ListView 或 ListBox 使用 WrapPanel 让里面的控件自动换行 在 WPF 可以通过修改 ItemsPanel 设置使用不同的 I ...
- Object-C学习比较费劲的3点原因
作为一名有8年编程经验的资历不浅的程序员,学习Object-C和iOS,感觉效率有点低,至少和学习Android比起来,慢的不是一点点. 主要有以下3个原因: 1.Object-C,和C系列的语言(C ...
- 集团公司(嵌入ETL工具)財务报表系统解决方式
集团公司(嵌入ETL工具)財务报表系统解决方式 一.项目背景: 某集团公司是一家拥有100多家子公司的大型集团公司,旗下子公司涉及各行各业,包含:金矿.铜矿.房产.化纤等.因为子公司在业务上的差异.子 ...
- <<Python基础教程>>学习笔记 | 第12章 | 图形用户界面
Python支持的工具包非常多.但没有一个被觉得标准的工具包.用户选择的自由度大些.本章主要介绍最成熟的跨平台工具包wxPython.官方文档: http://wxpython.org/ ------ ...
- 84.Node.js -Mongoose 方法
转自:https://www.cnblogs.com/chris-oil/p/9136534.html Mongoose 参考手册 标签(空格分隔): MongoDB Mongoose 是什么? 一般 ...
- [学习笔记]HTTP协议
转自:www.cnblogs.com/li0803/archive/2008/11/03/1324746.html Author :Jeffrey 引言 HTTP是一个属于应用层的面向对象的协议,由于 ...
- C语言基础-第五章
流程控制 1.顺序结构 顺序结构是指程序将按照书写的顺序一步步执行程序. 2.选择结构 2.1但分支结构语句 if(表达式){语句} 2.2双分支结构 if(表达式){}else if{} else{ ...