JavaScript အချက် စကာတင်
字符串方法帮助您处理字符串。
字符串方法和属性
原始值,比如“Bill Gates”,无法拥有属性和方法(因为它们不是对象)。
但是通过 JavaScript,方法和属性也可用于原始值,因为在执行方法和属性时 JavaScript 将原始值视为对象。
查找字符串中的字符串
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(""); // 分隔为字符