String方法总结
蓝背景为与Array相同的方法
一、字符方法
charAt(index):返回在指定位置的字符。
var str="abcdefg";
//undefined
str[0]
//"a",因为ie67不支持这种写法
str.charAt(0)
//"a"
charCodeAt(index):返回在指定的位置的字符的 Unicode 编码。
二、字符串操作方法,不会影响原字符串,返回新字符串
concat(stringX,stringX,...,stringX):字符串拼接->返回新字符串,不影响原字符串。更多时候用“+”
slice(start,end):提取字符串的片断->返回被提取的部分。参数为负数时,会将传入的负值与字符串的长度相加。end:若未指定此参数,则要提取的子串包括 start 到原字符串结尾的字符串。
split(separator,howmany):把一个字符串分割成字符串数组。howmany(可选)表示数组的最大长度,超过的部分将被舍弃。separator分隔符不被包含在任何子字符串中,如果sepatator为空字符串,则返回字符串中的字符序列组成的数组。如果split方法没有任何参数,则返回仅包含字符串本身,仅有一个元素的数组。
substring(start,stop):提取字符串中两个指定的索引号之间的字符。会将所有负值参数转换为0。
substr(start,length):从起始索引号提取字符串中指定数目的字符。将负的第一个参数加上字符串的长度,将负的第二个参数转换为0
var str="abcdefg" //undefined
str.slice(0,1)
//"a"
str.substr(0,1)
//"
str
//"abcdefg"
str.slice(-3)
//"efg"
str.substring(-3) //"abcdefg"
str.substr(-3)
//"efg"
str.slice(3,-4)
//""
str.slice(0,-4)
//"abc"
str.substring(3,-4)
//"abc"
str.substr(3,-4)
var str="how are you";
//undefined
str.split(" ")
//["how", "are", "you"]
var str = 'abcd'
//undefined
str.split('',2)
//["a", "b"]
str.split()
//["abcd"]
trim:返回删除前后空格后的新字符串
trimLeft:删除开头空格
trimRight:删除末尾空格
var str=" abc "
//undefined
str
//" abc "
str.trim()
//"abc"
str
//" abc "
str.trimLeft()
//"abc "
大小写转换:
toLowerCase
toLocalLowerCase
toUpperCase
toLocalUpperCase:针对地区的方法
三、字符串位置方法
indexOf(searchvalue,fromindex):返回某个指定的字符串值在字符串中首次出现的位置。
lastIndexOf(searchvalue,fromindex):在一个字符串中的指定位置从后向前搜索,返回位置。
str.indexOf('b')
//1
str.lastIndexOf('b')
//1
四、字符串模式匹配方法
match:
stringObject.match(searchvalue)
stringObject.match(regexp)
一个参数,若没有找到任何匹配的子串,则返回 null。如果找到了一个或多个匹配子串,则返回一个数组。
var str="cat,bat,sat,fat"
undefined
str
"cat,bat,sat,fat"
var pattern=/.at/
undefined
str.match(pattern)
["cat"]
var str="cat, bat, sat, fat"
undefined
str.match(pattern)
["cat"]
var pattern=/.atl/g
//undefined
str.match(pattern)
//null
var pattern=/.at/g
//undefined
str.match(pattern)
//["cat", "bat", "sat", "fat"]
search(regexp):唯一参数与match相同,返回第一个匹配项的索引,没找到返回-1
replace(regexp/substr,replacement)->返回新字符串,原字符串不变
如果第一个参数是字符串(不会被转换成正则表达式),那么只会替换第一个子字符串。要想替换所有子字符串,唯一的办法 是提供一个正则表达式,而且指定g。
第二个参数可以是一个字符串或者一个函数
str
//"cat, bat, sat, fat"
str.replace(/at/g,"ond")
//"cond, bond, sond, fond"
str
//"cat, bat, sat, fat"
str.replace(/at/g,function(){ return 2})
//"c2, b2, s2, f2"
用法:http://www.cnblogs.com/dolphinX/archive/2012/11/21/2780559.html
第二个参数是函数:
function htmlEscape(text){
return text.replace(/[<>"&]/g,function(match,pos,originalText) {
switch (match) {
case "<":
return "<";
case ">":
return ">";
case "&":
return "&";
case "\"":
return """;
}
})
}
//undefined
htmlEscape("<p class=\"greeting\">Hello World!</p>")
//"<p class="greeting">Hello World!</p>"
五、quote
quote:将字符串中包含的特殊字符进行转义(反斜杠),然后在字符串两边各加上一个双引号("
)并返回,并不修改原字符串。仅firefox支持。可以用JSON.stringify代替(https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify)
str |
str.quote() |
eval(str.quote()) |
---|---|---|
Hello world! |
"Hello world!" |
Hello world! |
Hello |
"Hello\n\tworld!" |
Hello |
" \ — ' |
"\" \\ \u2014 '" |
" \ — '
|
var meta = {
'\b': '\\b',
'\t': '\\t',
'\n': '\\n',
'\f': '\\f',
'\r': '\\r',
'"': '\\"',
'\\': '\\\\'
}
var quote = window.JSON && JSON.stringify || function(str) {
return '"' + str.replace(/[\\\"\x00-\x1f]/g, function(a) {
var c = meta[a];
return typeof c === 'string' ? c :
'\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4);
}) + '"'
}
用途:
1、用在处理后端传给我们的数据
2、将数据存放在到localStroage
DOM存储的机制是通过存储字符串类型的键/值对,来提供一种安全的存取方式.所以需要把JSON转换为JSON字符串。
Storage介绍:https://developer.mozilla.org/zh-CN/docs/Web/Guide/API/DOM/Storage/Storage
本地存储:http://www.cnblogs.com/darr/p/4359866.html
参考:http://riny.net/2012/the-summary-of-javascript-string/
String方法总结的更多相关文章
- JavaScript学习笔记-用于模式匹配的String方法
用于模式匹配的String方法: String支持4种使用正则表达式的方法: seach()用于检索,参数是一个正则表达式,返回第一个与之匹配的子串的位置,找不到则返回-1,如 ...
- 在String()构造器不存在的情况下自定义一个MyString()函数,实现如下内建String()方法和属性:
在String()构造器不存在的情况下自定义一个MyString()函数,实现如下内建String()方法和属性: var s = new MyString("hello"); s ...
- 【Java】Java中常用的String方法
本文转载于:java中常用的String方法 1 length()字符串的长度 String a = "Hello Word!"; System.out.println(a.len ...
- 用来生成get set string 方法
https://projectlombok.org/ 主要是用来生成get set string 方法等等 原理是注解
- Ruby字符串(2):String方法详细整理
String方法整理 官方手册 类方法 new new(str="") → new_str new(str="", encoding: enc) → new_s ...
- JavaScript 中string方法
注意:JavaScript的字符串是不可变的(immutable),String类定义的方法不能改变原来字符串内容,例如String.toUpperCase()这样的方法,返回的是全新的字符串,而不是 ...
- 用于模式匹配的String方法
String支持四种使用正则表达式的方法. 1.search()返回第一个与之匹配的子串的起始位置,找不到返回-1.search()参数是一个正则表达式,如果参数不是正则表达式,则会先通过RegExp ...
- 浅析正则表达式模式匹配的String方法
在JavaScript代码中使用正则表达式进行模式匹配经常会用到String对象和RegExp对象的一些方法,例如replace.match.search等方法,以下是对一些方法使用的总结. Stri ...
- Integer.valueOf(String) 方法之惑
本文由 ImportNew - 靳禹 翻译自 stackoverflow.欢迎加入翻译小组.转载请见文末要求. 有个仁兄在 StackOverflow 上发起了一个问题,是这么问的: “ 我被下面的代 ...
- [转]Integer.valueOf(String) 方法之惑
具体问题以前偶然遇到过,好象是一个java答题得分的论坛,当时做错还研究了下怎么回事,但是前两天遇到类似问题却没想起来.巩固下基础,转了下面文章. 以下内容转自:http://www.importne ...
随机推荐
- php实现 字符串分割
php实现 字符串分割 一.总结 一句话总结: 1.字符串按固定位分割函数是什么? 7 $str_arr=str_split($str,8); 2.字符串填补函数的参数是什么? 10 $str_arr ...
- js闭包中的this(匿名函数中的this指向的是windows)
js闭包中的this(匿名函数中的this指向的是windows) 一.总结 1.普通函数中的this指向的是对象,匿名函数中的this指向的是windows,和全局变量一样 2.让匿名函数中的thi ...
- 解题报告 之 HDU5305 Friends
解题报告 之 HDU5305 Friends Description There are people and pairs of friends. For every pair of friend ...
- 34、uevent机制说明
class_device_create(4.3.2内核是device_create->device_create_vargs->device_register->device_add ...
- 《Unix编程艺术》读书笔记(1)
<Unix编程艺术>读书笔记(1) 这两天開始阅读该书,以下是自己的体会,以及原文的摘录,尽管有些东西还无法全然吃透. 写优雅的代码来提高软件系统的透明性:(P134) Elegance ...
- Android自定义组件系列【10】——随ViewPager滑动的导航条
昨天在用到ViewPager实现滑动导航的时候发现微信的导航条效果是跟随ViewPager的滑动而动的,刚开始想了一下,感觉可以使用动画实现,但是这个滑动是随手指时时变化的,貌似不可行,后来再网上搜了 ...
- 如何在电脑上播放iso映像文件
http://blog.sina.com.cn/s/blog_4a20485e0102e5ya.html
- Spring web 工具类 WebApplicationContextUtils
概述 Spring web 的工具类 WebApplicationContextUtils 位于包 org.springframework.web.context.support 是访问一个Servl ...
- URAL 1542. Autocompletion 字典树
给你最多10w个单词和相应的频率 接下来最多1w5千次询问 每次输入一个字符串让你从前面的单词中依照频率从大到小输出最多10个以该字符串为前缀的单词 開始把单词建成了字典树 然后每次询问找到全部满足条 ...
- 线程之一:JAVA线程基础 分类: B1_JAVA 2013-10-10 12:48 662人阅读 评论(0) 收藏
参考core java,马士兵视频 1.线程的基本概念 (1)一个线程是一个程序内部的顺序控制流. (2)线程和进程 –每个进程都有独立的代码和数据空间(进程上下文),进程切换的开销大. –线程: ...