JavaScript အချက် စကာတင်

字符串方法帮助您处理字符串。

字符串方法和属性

原始值,比如“Bill Gates”,无法拥有属性和方法(因为它们不是对象)。

但是通过 JavaScript,方法和属性也可用于原始值,因为在执行方法和属性时 JavaScript 将原始值视为对象。

字符串长度

length 属性返回字符串的长度:

实例

var txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
var sln = txt.length;

亲自试一试

查找字符串中的字符串

indexOf() 方法返回字符串中指定文本首次出现的索引(位置):

实例

var str = "The full name of China is the People's Republic of China.";
var pos = str.indexOf("China");

亲自试一试

JavaScript 从零计算位置。

0 是字符串中的第一个位置,1 是第二个,2 是第三个 ...

lastIndexOf() 方法返回指定文本在字符串中最后一次出现的索引:

实例

var str = "The full name of China is the People's Republic of China.";
var pos = str.lastIndexOf("China");

亲自试一试

如果未找到文本, indexOf()lastIndexOf() 均返回 -1。

实例

var str = "The full name of China is the People's Republic of China.";
var pos = str.indexOf("USA");

亲自试一试

两种方法都接受作为检索起始位置的第二个参数。

实例

var str = "The full name of China is the People's Republic of China.";
var pos = str.indexOf("China", 18);

亲自试一试

lastIndexOf() 方法向后进行检索(从尾到头),这意味着:假如第二个参数是 50,则从位置 50 开始检索,直到字符串的起点。

实例

var str = "The full name of China is the People's Republic of China.";
var pos = str.lastIndexOf("China", 50);

亲自试一试

检索字符串中的字符串

search() 方法搜索特定值的字符串,并返回匹配的位置:

实例

var str = "The full name of China is the People's Republic of China.";
var pos = str.search("locate");

亲自试一试

您注意到了吗?

两种方法,indexOf()search(),是相等的

这两种方法是不相等的。区别在于:

  • search() 方法无法设置第二个开始位置参数。
  • indexOf() 方法无法设置更强大的搜索值(正则表达式)。

您将在အချက်အလက်的章节学习到这些更强大的检索值。

提取部分字符串

有三种提取部分字符串的方法:

  • slice(start, end)
  • substring(start, end)
  • substr(start, length)

slice() 方法

slice() 提取字符串的某个部分并在新字符串中返回被提取的部分。

ဤ လုပ်ငန်း သည် နှစ် ပါး အရမ်း ကို သတ်မှတ်ထားသည်: စတင် အရမ်း (စတင် စုံစမ်း တည်နေရာ),အဆုံး အရမ်း (အဆုံး စုံစမ်း တည်နေရာ)

ဤ အကျိုး သ�် စာသင်း၏ အချိန်ခေါင်စား အား 7 အထိ 13 အထိ ခွဲခြားထားသည်:

实例

var str = "Apple, Banana, Mango";
var res = str.slice(7,13);

res ရဲ့ ရလဒ် ဖြစ်သည်:

ဘန်နန

亲自试一试

အစိတ်အစိတ် အရမ်း အရ လွယ်ဝင် လွယ်ပါး ဖြစ် လျှင် စာသင်း၏ အဆုံးမှ ချက်ချင်း ခွဲခြားထားသည်။

ဤ အကျိုး သည် စာသင်း၏ အချိန်ခေါင်စား အား အစိတ်အစိတ် မှ -12 အထိ -6 အထိ ခွဲခြားထားသည်:

实例

var str = "Apple, Banana, Mango";
var res = str.slice(-13,-7);

res ရဲ့ ရလဒ် ဖြစ်သည်:

ဘန်နန

亲自试一试

ဒုတိယ ပါး အရမ်း လွယ်ဝင် လွယ်ပါး မဟုတ် ဖြစ် လျှင် အရေးပါသော အရမ်း ကို ခွဲခြားထားသည်:

实例

var res = str.slice(7);

亲自试一试

သို့မဟုတ် အဆုံးမှ ချက်ချင်း ခွဲခြားထားသည်:

实例

var res = str.slice(-13);

亲自试一试

提示:အရမ်း လွယ်ဝင် လွယ်ပါး မဟုတ် ဖြစ် သော အစိတ်အစိတ် အချိန်ခေါင်စား အား အင်တာနက် အစိတ်အစိတ် မြောက် ၈ လွှတ်တော် နှင့် အထက် ပါ ကုန်းကြည်း ကျွမ်းကျွမ်း မဟုတ် ပါ။

substring() လုပ်ငန်း

substring() တူညီသည် slice()

ခြားနားကြောင်း substring() အရမ်း လွယ်ဝင် လွယ်ပါး မဟုတ် ဖြစ် သော အစိတ်အစိတ် ကို လုပ်ငန်း မပြုနိုင်ပါ။

实例

var str = "Apple, Banana, Mango";
var res = str.substring(7,13);

res ရဲ့ ရလဒ် ဖြစ်သည်:

ဘန်နန

亲自试一试

ဒုတိယ ပါး အရမ်း လွယ်ဝင် လွယ်ပါး မဟုတ် ဖြစ် လျှင် substring() စာသင်း၏ ကျန်ရှိသော အချိုးချိုး ပြောင်းလဲပေးသည်။

substr() လုပ်ငန်း

substr() တူညီသည် slice()

ကိုယ်စား ဖြစ်သော ဒုတိယ ပါး အရမ်း အသုံးပြုထားသည် ကြောင့် ခြားနားကြောင်းအကျယ်

实例

var str = "Apple, Banana, Mango";
var res = str.substr(7,6);

res ရဲ့ ရလဒ် ဖြစ်သည်:

ဘန်နန

亲自试一试

ဒုတိယ ပါး အရမ်း လွယ်ဝင် လွယ်ပါး မဟုတ် ဖြစ် လျှင် အစားထိုး() အရ စာသင်း၏ ကျန်ရှိသော အချိုးချိုး ခွဲခြားထားသည်။

实例

var str = "Apple, Banana, Mango";
var res = str.substr(7);

亲自试一试

res ရဲ့ ရလဒ် ဖြစ်သည်:

ဘန်နန, မင်းဂျို

အပေါ်လား ပါး အရမ်း လွယ်ဝင် ဖြစ် လျှင် စာသင်း၏ အဆုံးမှ ချက်ချင်း ခွဲခြားထားသည်။

实例

var str = "Apple, Banana, Mango";
var res = str.substr(-5);

亲自试一试

res ရဲ့ ရလဒ် ဖြစ်သည်:

မင်းဂျို

ဒုတိယ ပါး အရမ်း လွယ်ဝင် မဟုတ် ပါ သတ္တဝါဟူ၍ အသုံးပြုထားသည် ကြောင့် ဖြစ်သည်။

ပြောင်းလဲသော စာသင်း အရေးအချင်း

replace() လုပ်သုံးခြင်း ကို စာသင်းတွင် သတ်မှတ်ထားသော ကြိမ်ဖြူး ကို အခြား ကြိမ်ဖြူး ဖြင့် ပြောင်းလဲပေးသည်:

实例

str = "Please visit Microsoft!";
var n = str.replace("Microsoft", "W3School");

亲自试一试

replace() နည်းလမ်း မပြောင်းလဲပါ၊ သူတို့ အားဖြင့် အသစ်သော ကြောက်စားသည် ပြန်လည်ပေးသည်။

လျှပ်ပျက်ခြင်းreplace() ပြောင်းလဲသော ပြောင်းလဲသည် အချက်အလက် ကို အသုံးပြုသည်:

实例

str = "Please visit Microsoft and Microsoft!";
var n = str.replace("Microsoft", "W3School");

亲自试一试

လျှပ်ပျက်ခြင်းreplace() အချက်အလက် အရေးယူအချက် ကို အရေးယူသည်။ အမည် MICROSOFT ကို ပြောင်းလဲမှုမရှိ။

实例

str = "Please visit Microsoft!";
var n = str.replace("MICROSOFT", "W3School");

亲自试一试

အရေးယူအချက် မပြောင်းလဲ ပြောင်းလဲသည် အချက်အလက် ကို အသုံးပြုရန်။ /iအချက်အလက် (အရေးယူအချက် မပြောင်းလဲ):

实例

str = "Please visit Microsoft!";
var n = str.replace(/MICROSOFT/i, "W3School");

亲自试一试

ကျွန်ုပ် သိရှိပါသည်။

အကျယ်အဝန်း ရှာဖွေသော အချက်အလက် ကို အသုံးပြုရန်။ g အချက်အလက် (အကျယ်အဝန်း ရှာဖွေခြင်း အတွက်):

实例

str = "Please visit Microsoft and Microsoft!";
var n = str.replace(/Microsoft/g, "W3School");

亲自试一试

အမေရိကန် ဂျူနီယာနယူးယား ပြောင်းလဲသည် အချက်အလက် ကို သိရှိပါ။အချက်အလက်အရင်း

အရောင်ရွှေ့နှင့် နောက်စိတ်သို့ ပြောင်းလဲ

အားဖြင့် toUpperCase() ကြောက်စားသည် ကို အရောင်ရွှေ့ရန်။

实例

var text1 = "Hello World!";       // ကြောက်စားသည်
var text2 = text1.toUpperCase();  // text2 သည် ပြောင်းလဲသော ကြောက်စားသည် text1

亲自试一试

အားဖြင့် toLowerCase() ကြောက်စားသည် ကို နောက်စိတ်သို့ ပြောင်းလဲရန်။

实例

var text1 = "Hello World!";       // ကြောက်စားသည်
var text2 = text1.toLowerCase();  // text2 သည် ပြောင်းလဲသော ကြောက်စားသည် text1

亲自试一试

concat() နည်းလမ်း

concat() ကြောက်စားသည် နှစ်ခုနှင့် အချိန်စုံ ကြည့်ပါ။

实例

var text1 = "Hello";
var text2 = "World";
text3 = text1.concat(" ",text2);

亲自试一试

concat() နည်းလမ်းအား အသုံးပြုနိုင်: အောက်ဆုံး နှစ်လိုက် အကွဲအပြားများ အကွဲသည်။

实例

var text = "Hello" + " " + "World!";
var text = "Hello".concat(" ","World!");

ကြောက်စားသည် စနစ်များ အား အသစ်သော ကြောက်စားသည် ပြန်လည်ပေးသည်။ သူတို့ အရင်း ကြောက်စားသည် ပြောင်းလဲမှုမရှိ။

ပြောကြားခြင်းအတိုင်း: ကြောက်စားသည် မပြောင်းလဲနိုင်: ကြောက်စားသည် ပြောင်းလဲရန် မရှိ၊ သာ ပြောင်းလဲဖို့ နိုင်သည်။

String.trim()

trim() ဘက်ဆိုင်သည် အစကား ကို အခြေအနေ အသိုးကို ဖယ်ရှားကြရ သည်

实例

var str = "       Hello World!        ";
alert(str.trim());

သတင်းများInternet Explorer 8 သို့ တိုးလျားသော ပုံစံ မပြုလုပ်နိုင် trim() ဘက်ဆိုင်သည်

亲自试一试

အခွင့်အရေး ကို အသုံးပြု ပြီး အစကား ကို ပြုလုပ်ကြရ သည် replace() ဘက်ဆိုင်သည် သည်

实例

var str = "       Hello World!        ";
alert(str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ''));

亲自试一试

အပြီးအပိုင်း အမှား ကို အသုံးပြု ပြီး အခွင့်အရေး ကို ပြုလုပ်ကြရ သည်

实例

if (!String.prototype.trim) {
  String.prototype.trim = function () {
    return this.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, '');
};
var str = "       Hello World!        ";
alert(str.trim());

亲自试一试

အစကား အချက် တွေ့ရှိကြရ

အစကား အချက် နှင့် အစကား အချက် ကို တစ်ခု တစ်ခု တွေ့ရှိကြရ သည်ဘယ်အတွက် ကြောင်းဘက်ဆိုင်သည်

  • charAt(အခြေအနေ)
  • charCodeAt(အခြေအနေ)

charAt() ဘက်ဆိုင်သည်

charAt() ဘက်ဆိုင်သည် ပြန်လည်ပေးသည်

实例

var str = "HELLO WORLD";
str.charAt(0);            // 72 ကို ပြန်လည်ပေးသည်

亲自试一试

charCodeAt() ဘက်ဆိုင်သည်

charCodeAt() ဘက်ဆိုင်သည် အစကား ကို အချိန်နှုန်း ကို ပြန်လည်ပေးသည်

实例

var str = "HELLO WORLD";
str.charCodeAt(0);         // 72 ကို ပြန်လည်ပေးသည်

亲自试一试

အခွင့်အရေး (Property Access)

ECMAScript 5 (2009) သည် အစကား အခွင့်အရေး ကို [ ] အား ခွင့်ပြုသည်

实例

var str = "HELLO WORLD";
str[0];                   // ပြန်လည် H ကို ပြန်လည်ပေးသည်

亲自试一试

အခွင့်အရေး အဖြစ် အစိတ်ပိတ် မှု ကို အသုံးပြုသည်

  • Internet Explorer 7 သို့ တိုးလျားသော ပုံစံ မပြုလုပ်နိုင်
  • အစကား ကို အသင်း ကဲ့သို့ ရှိသည် (သို့မဟုတ် အသင်း မဟုတ်)
  • အခြား အကြောင်း မတွေ့တော့ဘဲ[ ] ပြန်လည်ပေးသည် undefined၊ နှင့် charAt() မပြန်လည်ပေးသော စကားလုံး ပုဒ်ကို ပြန်လည်ပေးသည်。
  • အခြေခံ အဖြစ် ဖြစ်သည်。str[0] = "A" အမှား မပေါ်ကြည်း (သို့မဟုတ် အလုပ်လုပ်မည်မဟုတ်)!

实例

var str = "HELLO WORLD";
str[0] = "A";             // အမှား မပေါ်ကြည်း သော်လည်း အလုပ်လုပ်မည်မဟုတ်
str[0];                   // ပြန်လည် H ကို ပြန်လည်ပေးသည်

亲自试一试

提示:如果您希望按照数组的方式处理字符串,可以先把它转换为数组。

把字符串转换为数组

可以通过 split() 将字符串转换为数组:

实例

var txt = "a,b,c,d,e";   // 字符串
txt.split(",");          // 用逗号分隔
txt.split(" ");          // 用空格分隔
txt.split("|");          // 用竖线分隔

亲自试一试

如果省略分隔符,被返回的数组将包含 index [0] 中的整个字符串。

如果分隔符是 "",被返回的数组将是间隔单个字符的数组:

实例

var txt = "Hello";       // 字符串
txt.split("");           // 分隔为字符

亲自试一试

完整的 String 参考手册

如需完整的参考手册,请访问我们完整的 JavaScript 字符串参考手册

该手册包含了有关所有字符串属性和方法的描述和实例。