This translation is incomplete. Please help translate this article from English.
substring()
method trả về chuỗi con của 1 chuỗi bắt đầu từ vị trí bắt đầu đến vị trí kết thúc hoặc đến cuối chuỗi nếu không có vị trí kết thúc
Cú pháp
str.substring(indexStart[, indexEnd])
Parameters
indexStart
- Một số integer giữa 0 và một số nhỏ hơn độ dài chuỗi, xác định vị trí kí tự đầu tiên trong chuỗi gốc để đưa vào chuỗi con.
indexEnd
- Không bắt buộc. Một số integer giữa 0 và độ dài chuỗi. Chuỗi con không bao gồm ký tự ở vị trí indexEnd.
Return value
Chuỗi con trả về là chuỗi nằm ở vị trí từ indexStart đến vị trí ( indexEnd - 1 )
Description
substring()
lấy ký tự từ vị trí indexStart
tới vị trí (nhưng không bao gồm) indexEnd
. Đặc biệt:
- Nếu
indexStart bằng
indexEnd
,substring()
trả về 1 chuỗi rỗng. - Nếu không có
indexEnd
,substring()
sẽ lấy từ vị trí bắt đầu đến cuối chuỗi. (điều này giống với hàm substr()). - Nếu 1 trong 2 giá trị nhỏ hơn 0 hoặc là
NaN
, nó sẽ được xử lý như là 0. - Nếu 1 trong 2 giá trị lớn hơn
stringName.length
, nó sẽ được xử lý như làstringName.length
.
Nếu indexStart
lớn hơn indexEnd
, chúng se được đổi chỗ; ví dụ, str.substring(1, 0) == str.substring(0, 1)
.
Examples
Using substring()
The following example uses substring()
to display characters from the string 'Mozilla'
:
var anyString = 'Mozilla'; // Displays 'Moz' console.log(anyString.substring(0, 3)); console.log(anyString.substring(3, 0)); // Displays 'lla' console.log(anyString.substring(4, 7)); console.log(anyString.substring(4)); console.log(anyString.substring(7, 4)); // Displays 'Mozill' console.log(anyString.substring(0, 6)); // Displays 'Mozilla' console.log(anyString.substring(0, 7)); console.log(anyString.substring(0, 10));
Using substring()
with length
property
The following example uses the substring()
method and length
property to extract the last characters of a particular string. This method may be easier to remember, given that you don't need to know the starting and ending indices as you would in the above examples.
// Displays 'illa' the last 4 characters var anyString = 'Mozilla'; var anyString4 = anyString.substring(anyString.length - 4); console.log(anyString4); // Displays 'zilla' the last 5 characters var anyString = 'Mozilla'; var anyString5 = anyString.substring(anyString.length - 5); console.log(anyString5);
Replacing a substring within a string
The following example replaces a substring within a string. It will replace both individual characters and substrings. The function call at the end of the example changes the string 'Brave New World'
into 'Brave New Web'
.
// Replaces oldS with newS in the string fullS function replaceString(oldS, newS, fullS) { for (var i = 0; i < fullS.length; ++i) { if (fullS.substring(i, i + oldS.length) == oldS) { fullS = fullS.substring(0, i) + newS + fullS.substring(i + oldS.length, fullS.length); } } return fullS; } replaceString('World', 'Web', 'Brave New World');
Note that this can result in an infinite loop if oldS
is itself a substring of newS
— for example, if you attempted to replace 'World' with 'OtherWorld' here. A better method for replacing strings is as follows:
function replaceString(oldS, newS, fullS) { return fullS.split(oldS).join(newS); }
The code above serves as an example for substring operations. If you need to replace substrings, most of the time you will want to use String.prototype.replace()
.
Specifications
Specification | Status | Comment |
---|---|---|
ECMAScript 1st Edition (ECMA-262) | Standard | Implemented in JavaScript 1.0. |
ECMAScript 5.1 (ECMA-262) The definition of 'String.prototype.substring' in that specification. |
Standard | |
ECMAScript 2015 (6th Edition, ECMA-262) The definition of 'String.prototype.substring' in that specification. |
Standard | |
ECMAScript 2017 Draft (ECMA-262) The definition of 'String.prototype.substring' in that specification. |
Draft |
Browser compatibility
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basic support | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |