String 是JAVASCRIPT的几大对象之一,本文全面分析String对象
Unicode字符
JavaScript字符是Unicode字符,这样可以有效的处理国际字符(比如汉字)。
这个C、C++、C#中的做法不同,在JavaScript中,单引号和双引号都能用来定义字符串。因为JavaScript没有单独用来表示字符的类型(就像C#中的Char)。因此如下两个定义是完全等价的:
var hello = ‘Hello JavaScript’;
var hello = “Hello JavaScript”;
在使用引号的时候,要注意正确的嵌套,如下:
alert("\"你好'JavaScript'!\"");
String对象
在JavaScript中,一切皆是对象!
字符串本质上也是对象,我们可以使用 new String(“你好JS”) 来初始化。我们前面介绍的Number本质上也是对象,可以new Number(12) 来初始化。
字符长度
在字符串中,我们可以通过 length属性取得一个字符串的长度,比如:
“你好JS”.length // 4;
常用方法
同样的,字符串对象还有一些常用的方法:
strObj.indexOf(subString[, startIndex])
返回 String 对象内第一次出现子字符串的字符位置。indexOf 方法返回一个整数值,指出 String 对象内子字符串的开始位置。如果没有找到子字符串,则返回 -1。
lastIndexOf则从字符串的最后向前查找匹配的字符串的位置。
示例:
"你好Javascript!".indexOf("a")
"你好Javascript!".lastIndexOf("a")
strObj.substr(start [, length ])
返回一个从指定位置开始的指定长度的子字符串。
示例:
var hello = "你好JavaScript!";
var start = hello.indexOf("J");
var end = hello.lastIndexOf("!");
hello.substr(start, end - start)
strObj.replace(findstr,newstr)
返回替换后的字符串
注意,这里的findstr可以为字符串,也可以为正则表达式。
注意下面的代码运行结果不一样:
hello.replace(/World/, "Javascript");
hello.replace(/World/g, "Javascript");
在JavaScript中,replace与c#不一样,如果不指明全局替换,那么hello.replace(/World/, "Javascript")只会替换第一个找到的World,而c#则会替换所有的World,要在JavaScript实现全局替换,需要为正则表达式加上g(global)。
另外,字符串还有下面toUpperCase、toLowerCase等方法,用来将字符串转为大写或者小写,大家可以自己尝试下。
函数全解
string.indexOf(searchString,position)----从position(可选)位置开始,搜索字符串中的第一个searchSting所出现的位置并返回。例如:"hello,jack".indexOf("hello")将返回0;
"abcabc".indexOf("a",1)将返回3;
string.lastIndexOf(searchString,position)--------从position(可选)位置开始,搜索字符串中的最后一个searchString所出现的位置并返回。如:"abcabc".lastIndexOf("b")将返回4
string.charAt(pos)-------返回字符串中位置为pos的字符。例如:"abc".charAt(1)返回"b"
stirng.charCodeAt(pos)------返回字符串中位置为pos的字符代码。对于ASCII 字符,这将返回其ASCII代码。例如:"abc".charCodeAt(0)返回97,表示字符"a"的ASCII码。
string.slice(start,end)--------返回字符串中起始位置为start,结束位置为end(不包括end)的子字符串
string.split(separator,linmit)------将字符串以separator作为分割符切割成多个子字符串,并将他们作为一个数组返回。linmit(可选)表示数组的最大长度,超过的部分将被舍弃。separator分隔符不被包含在任何子字符串中,如果sepatator为空字符串,则返回字符串中的字符序列组成的数组。如果split方法没有任何参数,则返回仅包含字符串本身,仅有一个元素的数组。
string.split(separator,linmit)-------例如:"a1,b1,c1".split(",")将返回["a1","b1","c1"];
"a,b,c".split(",",2)将返回["a","b"];
"a,b,c".split("")将返回["a",",","b",",","c"];
"ab,c".split()将返回["ab,c"]
string.substr(start,length)--------返回字符串中起始位置为start,长度为length的子字符串。例如:"abcdefg".substr(1,3)将返回"bcd";
string.substring(start,end)------返回字符串中起始位置为start,结束位置为end(包括end)的子字符串。这个方法和slice方法唯一不同体现在是否包含了end位置的字符。
分享到:
相关推荐
JavaScript里面也提供了String类型和Array类型,并且有很多基本的String方法和Array方法来方便地对字符串进行合并、查找、替换、截取等处理。JavaScript作为一个脚本语言,又提供了一种动态解析运行的机制,而这特性...
将对象解析为人类可读的字符串 安装 npm install --save object-to-string 用法 var objectToString = require ( 'object-to-string' ) ; var result = objectToString ( { foo : 'bar' , hello : 'world' } , { ...
JavaScript parseInt()与Number()区别案例详解 ...为了避免对“0”和“0x”开头的字符串解析错误,各种javascript编程规范都规定必须要明确给出第二个参数的值,如parseInt(“123”,10). parseInt('16',
字串清单将字符串列表解析为数组。用法此模块以列表形式获取字符串,并将其解析为字符串数组var stringlist = require ( 'stringlist' ) ;... 带引号的项目(带有'或" )被视为是javascript字符串。它们不会
Javascript的变量是松散类型的,它可以存储Javascript支持的任何数据类型,其变量的类型可以在运行时被动态改变。请看示 例: var n = 10; n = "hello CSSer!"; n = {}; 上面的示例中,首先声明n变量并初始化其值...
7.5 JavaScript的内置对象 7.5.1 Math对象 7.5.2 Date对象--创建一个简单的日历 7.5.3 Error对象 7.5.4 其他内置对象 7.5.5 特殊的对象--全局对象与调用对象 7.6 总结 第8章 集合 ...
6) typeof函数的返回值:数字——number,字符串——string,布尔值——Boolean,对象、数组、null——object,函数名——function或undefined(未定义时)。主要用来区别区别对象和原始类型。要区分对象的具体类型...
#HTML字符串解析器 #文件 #介绍 这个简单的库使您可以使用字符串创建新的DOM元素。 它并非旨在创建像这样的整个网站,而是简化了动态元素的创建 #如何使用 要使用它,请将库添加到页面中,并启动html对象 var ...
数据类型 JavaScript中有5种简单数据类型(也称为基本数据类型):Undefined、Null、Boolean、Number和String。还有1种复杂数据类型——Object,Object本质上是由一组无序的名值对组成的。 typeof操作符 介于...
JavaScript中有5种简单数据类型(也称为基本数据类型):Undefined、Null、Boolean、Number和String。还有1种复杂数据类型——Object,Object本质上是由一组无序的名值对组成的。 typeof操作符 介于JavaScript是...
JSPExample10.jsp 字符串类型与其他数据类型的转换 JSPExample11.jsp 解析字符串的子字符串 stringOP.html 页面数据提交至JSPExample12.jsp JSPExample12.jsp 字符串替换 JSPExample13.jsp ...
事情: 从java后台返回List<String>类型数据,用于界面显示。但js中想获取它并操作它。直接使用EL表达式,js把它识别成字符串了。不是我想要的啊。。网上搜了搜大家的解决方案…最好的当然是把List集合转成json格式...
字符串就是零个或多个排在一起的字符,放在单引号或双引号之中。 'abc' "abc" 单引号字符串的内部,可以使用双引号。双引号字符串的内部,可以使用单引号。 'key = "value"' "It's a long journey" 上面两个都是...
我们大家都知道WebView交互中可以传递基本数据类型的数据值,比如常用的int,String. 但是WebView也可以传递一种很重要很常用的数据格式-json数据. 传递json和传递String数据是一样的,关键就是HTML5端对json数据...
NPMnpm install auto-parse --save# YARNyarn add auto-parse什么是新的#18解析数组字符串仅适用于双引号 文献资料 autoParse(输入,类型) 参量任何input :要解析的输入值构造函数|字符串type :类型。...
使用unicorn.js:8:14这样的行和列来解析和字符串化文件路径 安装 $ npm install line-column-path 用法 const lineColumnPath = require ( 'line-column-path' ) ; const parsed = lineColumnPath . parse ( '...
接受表示 MDN Parse API 类型的字符串 String - 要解析的字符串 String - 表示 MDN Parse API 类型的字符串返回 Bool - 如果类型存在于语法树函数 shouldNotContain(string, type) 中,则为 false 确定程序的粗略...
vdf解析器 vdf-parser是一个可以将 VDF 转换为 JSON 的库,反之亦然。 它主要基于并包含一些受启发的功能(缺少前者支持的一些功能......),但包含许多新功能和修复。 格式: : VDF 可能包含注释。 但是,它们...
String 任何非空字符串 “”(空字符串) Number 任何非零数字值(包括无穷大) 0和NaN Object 任何对象 null Undefined 无 undefinedBoolean()转型函数的简便表示方法。———–!! 2、逻辑
Cake是一个极简主义JavaScript库,它使用舒适的现代API解析,验证,操作和显示用于现代浏览器和Node的字符串。 :three_o’clock: 快速准确 :flexed_biceps: 类型,静态方法,独立功能 :fire: 可链接(当用作类型...