Javascript字符串常用方法

字符串

字符串就是一个或多个排列在一起的字符,放在单引号或双引号之中。

'abc'
"abc"

length属性

js里的字符串类似于数组,都是一个一个字符拼凑在一起组成的,因此可以用length属性取得字符串的长度

var str = "hello"
str.length; // 5

字符串常用的一些方法

1. charAt():从一个字符串中返回指定的字符

str.charAt(index)

index一个介于0 和字符串长度减1之间的整数。

 (0~length-1)如果没有提供索引,charAt() 将使用0。如果指定的 index 值超出了该范围,则返回一个空字符串。


2. indexOf()

str.indexOf(searchValue[, fromIndex])
searchValue一个字符串表示被查找的值。 fromIndex  可选表示调用该方法的字符串中开始查找的位置。可以是任意整数。默认值为 0。如果  fromIndex < 0 则查找整个字符串(如同传进了 0)。如果  fromIndex >= str.length,则该方法返回 -1,除非被查找的字符串是一个空字符串,此时返回 str.length。
"Blue Whale".indexOf("Blue");     // returns  0
"Blue Whale".indexOf("Blute");    // returns -1
"Blue Whale".indexOf("Whale", 0); // returns  5
"Blue Whale".indexOf("Whale", 5); // returns  5
"Blue Whale".indexOf("", 9);      // returns  9
"Blue Whale".indexOf("", 10);     // returns 10
"Blue Whale".indexOf("", 11);     // returns 10

3. lastIndexOf():方法返回指定值在调用该方法的字符串中最后出现的位置,如果没找到则返回 -1。从该字符串的后面向前查找,从 fromIndex 处开始。

str.lastIndexOf(searchValue[, fromIndex])
searchValue一个字符串,表示被查找的值。 fromIndex从调用该方法字符串的此位置处开始查找。可以是任意整数。默认值为  str.length。如果为负值,则被看作 0。如果  fromIndex > str.length,则  fromIndex 被看作  str.length
"canal".lastIndexOf("a")   // returns 3
"canal".lastIndexOf("a",2) // returns 1
"canal".lastIndexOf("a",0) // returns -1
"canal".lastIndexOf("x")   // returns -1

4. substring()方法返回一个字符串在开始索引到结束索引之间的一个子集, 或从开始索引直到字符串的末尾的一个子集。

str.substring(indexStart[, indexEnd])
indexStart一个 0 到字符串长度之间的整数。 indexEnd

可选。一个 0 到字符串长度之间的整数。


描述

substring 提取从 indexStart 到 indexEnd(不包括)之间的字符。特别地:

  • 如果 indexStart 等于 indexEndsubstring 返回一个空字符串。
  • 如果省略 indexEndsubstring 提取字符一直到字符串末尾。
  • 如果任一参数小于 0 或为 NaN,则被当作 0。
  • 如果任一参数大于 stringName.length,则被当作 stringName.length

如果 indexStart 大于 indexEnd,则 substring 的执行效果就像两个参数调换了一样。例如,str.substring(1, 0) == str.substring(0, 1)

5. slice()法提取一个字符串的一部分,并返回一新的字符串。

str.slice(beginSlice[, endSlice])
beginSlice从该索引(以 0 为基数)处开始提取原字符串中的字符。如果值为负数,会被当做  sourceLength + beginSlice 看待,这里的 sourceLength 是字符串的长度 (例如, 如果 beginSlice 是 -3 则看作是:  sourceLength - 3) endSlice可选。在该索引(以 0 为基数)处结束提取字符串。如果省略该参数, slice会一直提取到字符串末尾。 如果该参数为负数,则被看作是 sourceLength + endSlice,这里的 sourceLength 就是字符串的长度(例如,如果 endSlice 是 -3,则是, sourceLength - 3)。

返回一个从原字符串中提取出来的新字符串

slice() 提取的新字符串包括beginSlice不包括 endSlice

例1:str.slice(1, 4) 提取新字符串从第二个字符到第四个 (字符索引值为 1, 2, 和 3)。

例2:str.slice(2, -1) 提取第三个字符到倒数第二个字符。


6. substr() 方法返回一个字符串中从指定位置开始到指定字符数的字符。

str.substr(start[, length])
start
开始提取字符的位置。如果为负值,则被看作  strLength +  start,其中   strLength  为字符串的长度(例如,如果 start 为 -3,则被看作 strLength + (-3))。
length

可选。提取的字符数

描述

start 是一个字符的索引。首字符的索引为 0,最后一个字符的索引为 字符串的长度减去1。substr 从 start 位置开始提取字符,提取 length 个字符(或直到字符串的末尾)。

如果 start 为正值,且大于或等于字符串的长度,则 substr 返回一个空字符串。

如果 start 为负值,则 substr 把它作为从字符串末尾开始的一个字符索引。如果 start 为负值且 abs(start) 大于字符串的长度,则 substr 使用 0 作为开始提取的索引。注意负的 start 参数不被 Microsoft JScript 所支持。

如果 length 为 0 或负值,则 substr 返回一个空字符串。如果忽略 length,则 substr 提取字符,直到字符串末尾。

7. replace()法返回一个由替换值替换一些或所有匹配的模式后的新字符串。模式可以是一个字符串或者一个正则表达式, 替换值可以是一个字符串或者一个每次匹配都要调用的函数。

str.replace(regexp|substrnewSubStr|function)
regexp (pattern)
一个 RegExp 对象或者其字面量。该正则所匹配的内容会被第二个参数的返回值替换掉。
substr (pattern)
一个要被  newSubStr  替换的 字符串 。其被视为一整个字符串,而不是一个正则表达式。仅仅是第一个匹配会被替换。
newSubStr (replacement)
 用于替换掉第一个参数在原字符串中的匹配部分的 字符串。该字符串中可以内插一些特殊的变量名。参考下面的 使用字符串作为参数
function (replacement)
一个用来创建新子字符串的函数,该函数的返回值将替换掉第一个参数匹配到的结果。参考下面的 指定一个函数作为参数

返回值

一个部分或全部匹配由替代模式所取代的新的字符串。

var re = /apples/gi;
var str = "Apples are round, and apples are juicy.";
var newstr = str.replace(re, "oranges");

// oranges are round, and oranges are juicy.
console.log(newstr);

8. search()方法执行正则表达式和 String对象之间的一个搜索匹配。

str.search(regexp)

参数

regexp
一个 正则表达式(regular expression)对象。如果传入一个非正则表达式对象,则会使用 new RegExp(obj) 隐式地将其转换为正则表达式对象。

返回值

如果匹配成功,则 search() 返回正则表达式在字符串中首次匹配项的索引。否则,返回 -1。


9. match()当一个字符串与一个正则表达式匹配时, match()方法检索匹配项。

str.match(regexp);

参数

regexp
一个 正则表达式对象。如果传入一个非正则表达式对象,则会隐式地使用  new RegExp(obj) 将其转换为一个  RegExp 。如果你未提供任何参数,直接使用 match() ,那么你会得到一个包含空字符串的  Array :[""] 。

返回值

array
如果字符串匹配到了表达式,会返回一个数组,数组的第一项是进行匹配完整的字符串,之后的项是用圆括号捕获的结果。如果没有匹配到,返回null

10. split()方法使用指定的分隔符字符串将一个String对象分割成字符串数组,以将字符串分隔为子字符串,以确定每个拆分的位置。 

str.split([separator[, limit]])

参数

separator
指定表示每个拆分应发生的点的字符串。 separator 可以是一个字符串或 正则表达式。 如果纯文本分隔符包含多个字符,则必须找到整个字符串来表示分割点。如果在str中省略或不出现分隔符,则返回的数组包含一个由整个字符串组成的元素。如果分隔符为空字符串,则将str原字符串中每个字符的数组形式返回。
limit
一个整数,限定返回的分割片段数量。当提供此参数时,split 方法会在指定分隔符的每次出现时分割该字符串,但在限制条目已放入数组时停止。如果在达到指定限制之前达到字符串的末尾,它可能仍然包含少于限制的条目。新数组中不返回剩下的文本。

返回值

An Array of strings split at each point where the separator occurs in the given string.

"Webkit Moz O ms Khtml".split( " " )   // ["Webkit", "Moz", "O", "ms", "Khtml"]

11. trim()方法会从一个字符串的两端删除空白字符。在这个上下文中的空白字符是所有的空白字符 (space, tab, no-break space 等) 以及所有行终止符字符(如 LF,CR)。

str.trim()

trim() 方法并不影响原字符串本身,它返回的是一个新的字符串。

12. toLowerCase()

13. toUpperCase()


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值