String类型的方法总结
String :字符串对象的包装类型
var stringObject = new String("wanglehui");
方法总结:
1、返回该对象表示的基本字符串值(也就是返回自身)
valueOf():返回调用对象的原型值
toLocaleString():将数组转换成本地字符串
toString():将调用对象转换成字符串/ 可把一个逻辑值转换成字符串并返回
2、返回字符串长度
stringObject.length():返回字符串长度
3、跟字符有关的方法
charAt():接受一个参数(下标位置),返回该位置的单字符字符串,若没有返回空
stringObject[x]:也可以直接通过下标像取数组值那样取(不过不建议这样做,虽然IE8+、高级浏览器都支持)
charCodeAt():和charAt()类似,只是返回的是字符编码,若越界,返回NaN
4、字符串操作的方法——不改变源字符串
(1)拼接字符串 concat()、“+”
concat:拼接一个或者多个字符串,返回拼接好的新字符串(实践中用的最多的是“+”,效果跟concat一样,而且方便很多)
(2)创建新字符串(返回被操作字符串的子字符串)
正常的语法:
————————————————————————————————————————————
slice(m,n):返回剪切的字符串,从下标m开始,剪切到下标n(包括m不包括n)
substring(m,n):返回剪切的字符串,从下标m开始,剪切到下标n(包括m不包括n)
substr(m,n):从下标m开始剪切n个字符
var str = "wanglehui";var slice = str.slice(2,4); //ng var substring = str.substring(2,4); //ng var substr = str.substr(2,4); //ngle
如果只写一个参数:
————————————————————————————————————————————
var str = "wanglehui";var slice0 = str.slice(2); //nglehui var substring0 = str.substring(2); //nglehui var substr0 = str.substr(2); //nglehui
解释:三个方法都是从下标m开始,默认截取到字符串结尾。并返回截取的字符串
如果只写一个参数,而且这个参数还是负数:
————————————————————————————————————————————
var str = "wanglehui";var slice2 = str.slice(-2); //ui var substring2 = str.substring(-2); //wanglehui var substr2 = str.substr(-2); //ui
解释:slice()、substr()默认是倒着数,也就是 " str.length-2 " 相当于 slice(7)、substr(7)
substring()会把负数参数转换为0,然后返回整个字符串
如果写两个参数,第一个正数,第二个负数
————————————————————————————————————————————
var str = "wanglehui";var slice3 = str.slice(2,-4); //ngl var substring3 = str.substring(2,-4); //wa var substr3 = str.substr(2,-4); //""(空字符串)
解释:slice()仍然是遇见负数倒着数,slice(2,-4) 等于 slice(2,5),截取字符串下标为234的三个字符,如果 “ str.length-4 < 2 ” ,返回空
substring()也仍然是将负数转化为0,substring(2,-4) 等于 substring(2,0)等于substring(0,2),会默认将较小的数作为开始位置
substr()会将第二个负数参数转化为0,substr(2,-4) 等于 substr(2,0) ,截取长度为0,也就是返回空字符串
如果两个参数都是负数(建议你就别用这些方法了,这不是作死吗?哈哈....,不过我还是好奇做了下测试)
————————————————————————————————————————————
var str = "wanglehui";var slice4 = str.slice(-2,-4); //""(空字符串) 等于slice(7,5),返回空 var substring4 = str.substring(-2,-4); //""(空字符串) 等于substring(0,0),返回空 var substr4 = str.substr(-2,-4); //""(空字符串) 等于substr(7,0),返回空
解释:具体解释看以下中间小结,符合总结规律
中间小结:
substring(m,n),遇见负数就转换为0,无论是第几个参数,然后做正常的操作。若 n < m ,会自动将较小的数作为开始位置,简称自动反转
slice(m,n),遇见负数就倒着数,也无论是第几个参数,也就是 “ str.length -m ”、“ str.length -n ”,但是没有自动反转操作,若 n < m , 返回空
substr(m,n),遇见负数,分情况而定,第一个参数为负,倒着数定位。第二个参数为负,自动转换为0,也就是截取0个字符,返回空。
5、字符串位置方法
indexOf( str[必填], location[可选] ) : 从下标为location的位置,从前往后搜索字符串“str”,并返回找到时候的下标。找不到返回-1
lastIndexOf( str[必填], location[可选] ) :从下标为location的位置,从后往前搜索字符串“ str ”,并返回找到的下标。找不到返回-1
6、删除字符串边缘的空格
trim():创建一个字符串副本,并删除前置和后缀的空格,然后返回处理后的字符串
trimLeft(): 创建一个字符串副本,并删除字符串前置空格,然后返回处理后的字符串
trimRight():创建一个字符串副本,并删除字符串后缀的空格,然后返回处理后的字符串
7、字符串的模式匹配方法
match(): 对比正则的exec(),两者返回数组一样,但使用方式正好相反(有关“捕获组”具体详见《JavaScript高级升序设计》P-106)
match():在字符串上调用这个方法,接受参数类型(正则表达式/RegExp对象),返回包含第一个匹配信息的数组,若无返回null
exec():在RegExp上调用这个方法,接收参数(字符串),返回包含第一个匹配信息的数组,若无,返回null
search(): 与match接受参数相同,调用方式相同。不同的是search()始终从开头开始查找,找到返回下标,找不到返回-1
replace():替换子字符串的方法,接受两个参数,第一个参数(RegExp对象/字符串),第二个参数(字符串/函数)
/** match 当前匹配项* position 当前匹配项的下标位置* originalText 原始文本* 返回替换后的字符串副本,不改变原始值* */ var test = originalText.replace( regExp, function( match, position, originalText ){// code });
split():基于指定分隔符将字符串分割成多个子字符串,并将结果放在一个数组中。分隔符可以是字符串,也可以是RegExp对象,第二个参数可以设定返回数组的大小,以确保返回的数组不会超过既定大小。
var str = "wanglehui|daifen|daye|daniang";var arr0 = str.split("|"); //["wanglehui", "daifen", "daye", "daniang"] var arr1 = str.split("|",2); //["wanglehui", "daifen"] var arr2 = str.split(/[^/|]+/); //["", "|", "|", "|", ""]
解释:arr2是以不是“|”的标识符为分隔符,所以开头和结尾都符合要求,也就是空了
8、字符串比较
localeCompare():比较两个字符串,返回下列值中的一个
如果该字符串在字母表中应该在字符串参数的前面,则返回一个负数(大多是-1,具体不定)
如果字符串等于字符串参数,返回0
如果该字符串在字母表中应该在字符串参数的后面,则返回一个正数(大多是1,具体不定)
var str = "w";var arr0 = str.localeCompare("z"); //-1 var arr1 = str.localeCompare("d"); //1 var arr2 = str.localeCompare("w"); //0
9、字符串字符编码操作
charCodeAt(n):返回字符串中下标为n的字符的字符编码
fromCharCode():静态方法,将接受的一个或者多个字符编码转换成字符串
var str = "hello"; var str1 = str.charCodeAt(0); //104var str2 = String.fromCharCode(104, 101, 108, 108, 111); //hello
10、HTML方法
早期JavaScript动态格式化HTML的方法,只做了解,不建议使用,因为语义不明!
anchor(name): 输出结果 <a name = "name" >string</a>
big(): 输出结果 <big>string</big>
bold(): 输出结果 <b>string</b>
fixed() :输出结果 <tt>string</tt>
fontcolor(): 输出结果 <font color = “color” >string </font>
fontsize(): 输出结果 <font size= “size” >string </font>
italics(): 输出结果 <i>string</i>
link(url): 输出结果 <a herf = "url">string</a>
small(): 输出结果 <small>string</small>
strike(): 输出结果 <strike>string</strike>
sub(): 输出结果 <sub>string</sub>
sup(): 输出结果 <sup>string</sup>
参考书籍:《JavaScript高级程序设计》5.6.3String类型
转载于:https://www.cnblogs.com/zxjwlh/p/6346052.html
String类型的方法总结相关推荐
- 【java】JAVA中int转String类型有三种方法
String.valueOf(i) Integer.toString(i) i+"" i+""也就是一个int型的常量.+上个空的字符串,这里牵涉到了strin ...
- String类型的方法
1.String类概述 · 字符串是由多个字符组成的一串数据(字符序列),也可以看成是一个字符数组. · 字符串字符值"abc"也可以看成是一个字符串对象. · 字符串是常量 ...
- 字符串String类型 、数组 Array类型
String类型的方法 方法 描述 charAt, charCodeAt, codePointAt 返回字符串指定位置的字符或者字符编码. indexOf, lastIndexOf 分别返回字符串中指 ...
- 当要将其他类型转成String类型时候 看String的方法
当要将其他类型转成String类型时候 看String的方法进行转换 转载于:https://www.cnblogs.com/classmethond/p/10100877.html
- Java浅克隆与深克隆区别详解与实现,以及String类型属性克隆为什么不受影响?克隆clone()方法中为什么是super.clone()
1. 浅克隆实现 public class CloneTest {public static void main(String[] args) throws CloneNotSupportedExce ...
- java.lang.UnsupportedClassVersionError: JVMCFRE003解决方法--jdk 1.6 中switch的参数无法使用String类型
java.lang.UnsupportedClassVersionError: JVMCFRE003解决方法--jdk 1.6 中switch的参数无法使用String类型 参考文章: (1)java ...
- java对象转换String类型的三种方法
**一.采用Object.toString() **toString方法是java.lang.Object对象的一个public方法.在java中任何对象都会继承Object对象,所以一般来说任何对象 ...
- 高效开发:java对象转化成String类型的四种方法
方法1:采用 Object#toString()方法 请看下面的例子: Object object = getObject(); System.out.println(object.toString( ...
- 定义银行账户类Account,有属性:卡号cid,余额balance,所属用户Customer 银行账户类Account有方法: (1)getInfo(),返回String类型,返回卡的详细信息
//定义银行账户类Account,有属性:卡号cid,余额balance,所属用户Customer //银行账户类Account有方法: //(1)getInfo(),返回String类型,返回卡的详 ...
- 将任意一个对象中的所有String类型的成员变量所对应的字符串内容中的“a“改为“b“(封装成一个方法)
import java.lang.reflect.Field;public class test06 {/** 将任意一个对象中的所有String类型的成员变量所对应的字符串内容中的"a&q ...
最新文章
- easyui validate 后 使用ajax提交
- 离散数学专业术语(continuous updating)
- Non-Blind图像反卷积论文整理
- 字符串表达式求值 C#实现
- if 组件是否存在_UE4 UMG简介+Slate组件问题排查
- 在pycharm中使用conda虚拟环境(conda虚拟环境是已经创建好的),解决python安装包文件很费劲的问题
- 【Java数据结构与算法】第十章 哈希表和二叉树
- 【干货】经理级管理者的角色定位:打造卓越领导力.pdf(附PPT下载链接)
- 光引发剂主要用途_食品级uv油墨光引发剂的安全使用
- DFS(深度优先算法)难
- 密码字典生成工具crunch的简单使用
- 【论文翻译 arXiv 2020】异质网表示学习综述-韩家炜组
- FastDFS原理概括
- ros(28):ros基础知识学习:roscore、ros master、ros::init()、roslaunch
- 地理信息系统软件学习:流域提取以及地图绘制(简单版)
- 如何控制局域网网速_图文版[许迎果讲科普] 常见的影响网速的因素
- Linux#使用ll命令
- 我国学生被美深泉学院录取 每周20小时放牛种草
- wstmart系统研究日志二
- 三明梅列:社区服务走进“微时代”
热门文章
- Atitit attilax在自然语言处理领域的成果
- Atitit.js获取上传文件全路径
- paip 自定义输入法多多输入法词库的备份导出以及导入
- paip.验证码识别---图像处理类库
- 软件网站安全性的设计与检测与解决方案
- 通力法评 | 简评中国证监会关于MOM产品的征求意见稿
- Julia: LightTable 插件方式 与 JUNO
- 最后7天!阿里云2020云内存数据库峰会现场参会报名中
- 物联网的“最好”与“最坏”之间往往只差了一个“安全”
- 如何解决大规模高性能存储可靠性问题?