字符串方法幫助您處理字符串。
字符串的方法和屬性
原始值,比如"John Doe" ,不能有屬性或方法(因為它們不是對象)。
但是,使用JavaScript,方法和屬性也可用於基本的價值觀,因為JavaScript的執行方法和屬性時,把原始的值對象。
字符串長度
該length屬性返回一個字符串的長度:
在String查找字符串
該indexOf()方法返回一個字符串指定的文本中第一次出現(的位置)的指標:
該lastIndexOf()方法返回一個字符串指定的文本中最後一次出現的索引:
兩者indexOf()和lastIndexOf()方法返回-1,如果沒有找到該文本。
JavaScript的計算從零位。
0是字符串中的第一個位置,1是第二,2是第三...
兩種方法都接受的第二參數作為用於搜索的起始位置。
搜索一個字符串的字符串
該search()方法搜索指定值的字符串,並返回匹配的位置:
你注意到了嗎?
這兩種方法, indexOf()和search()都是平等的。
他們接受相同的參數(參數),以及它們返回相同的值。
這兩種方法都是平等的,但search()方法可以採取更加強大的搜索值。
您將了解有關正則表達式的章節中強大的搜索值。
提取部分字符串
有3種方法,用於提取字符串的一部分:
- slice(start, end)
- substring(start, end)
- substr(start, length)
該slice()方法
slice()中提取的字符串的一部分,並返回一個新的字符串所提取的一部分。
該方法需要兩個參數:開始索引(位置),並結束索引(位置)。
這個例子切片一個字符串的位置,從7至13位的部分內容:
如果一個參數是負的,該位置是從字符串的末尾計數。
這個例子從切片從位置-12到位置-6一個字符串的一部分:
如果省略第二個參數,該方法將切出字符串的其餘部分:
或者,從結尾開始計算:
負位置並不在Internet Explorer 8和更早的工作。
該substring()方法
substring()類似, slice()
所不同的是substring()不能接受負索引。
如果省略第二個參數, substring()將切出字符串的其餘部分。
在substr()方法
substr()類似, slice()
不同的是,第二個參數指定的length所提取的部分的。
如果第一個參數是負的,該位置從字符串的結束計數。
第二個參數不能為負,因為它定義的長度。
如果省略第二個參數, substr()將切出字符串的其餘部分。
更換字符串內容
該replace()方法替換字符串中的另一個值指定值:
該replace()方法也可以接受正則表達式作為搜索值。
默認情況下, replace()函數只替換第一個匹配。 要替換所有的匹配,請使用AG標誌正則表達式(全局匹配):
該replace()方法不會改變它呼籲字符串。 它返回一個新字符串。
轉換為大寫和小寫
一個字符串轉換為大寫與toUpperCase()
例
var text1 = "Hello World!"; // String
var text2 = text1.toUpperCase(); // text2 is text1 converted to upper
試一試» 一個字符串轉換為小寫與toLowerCase()
例
var text1 = "Hello World!"; // String
var text2 = text1.toLowerCase(); // text2 is text1
converted to lower
試一試» 該concat()方法
concat()連接兩個或多個字符串:
所述concat()方法可用於代替加算子。 這兩行做同樣的:
例
var text = "Hello" + " " + "World!";
var text = "Hello".concat(" ","World!");
所有的字符串方法返回一個新的字符串。 他們不修改原始字符串。
形式上說:字符串是不可變的:字符串不能更改,只能更換。
提取串字符
有2個用於提取字符串中的字符安全的方法:
- charAt(position)
- charCodeAt(position)
該charAt()方法
該charAt()方法返回一個字符串指定索引(位置)處的字符:
該charCodeAt()方法
該charCodeAt()方法返回一個字符串指定索引處的字符的Unicode:
訪問字符串作為數組是不安全
你可能已經看到了這樣的代碼,訪問字符串數組:
var str = "HELLO WORLD";
str[0]; // returns H
這是不安全的和不可預知的:
- 它不會在所有的瀏覽器(而不是在IE5,IE6,IE7)
- 它使串看起來像陣列(但他們不是)
- str[0] = "H"並沒有給出錯誤(但不工作)
如果你想讀一個字符串數組,先將其轉換為一個數組。
將字符串轉換成數組
一個字符串可以被轉換成與數組split()方法:
例
var txt = "a,b,c,d,e"; // String
txt.split(","); // Split on commas
txt.split(" "); // Split on spaces
txt.split("|"); // Split on pipe
試一試» 如果省略分隔符,返回的數組將包含在指數[0]整個字符串。
如果分隔符為“”,返回的數組將是單個字符數組:
完整的字符串參考
對於一個完整的參考,請訪問我們完整的JavaScript字符串引用 。
引用包含所有的字符串屬性和方法的說明和示例。