JavaScript 字符串操作
字符/字符編碼 = Str.charAt/charCodeAt(索引值);
索引值 = str.indexOf/lastIndexOf(想要查詢的字符);
新字符串 = str1.concat(str2); 鏈接兩個字符串
字符串 = str.slice(索引1,索引2); //兩個參數都是索引值。
//(2,5) 正常包左不包右
//(2) 從指定的索引位置剪到最後
//(-3) 從倒數第幾個剪到最後
//(5,2) 前面的大,後面的小,無意義,空
字符串 = str.substr(參數1,參數2); //1索引值,2長度
// 第一個參數爲從索引位置取值,第二個參數返回字符長度
//(2,4)從索引值爲2的字符開始,截取4個字符
//(1) 一個值,從指定位置到最後
//(-3) 從倒數第幾個剪到最後
// 不包括前大後小的情況
字符串 = str.substring(參數1,參數2); //兩個參數都是索引值。
//不同1:參數智能調轉位置
//不同2:參數負值,將全部獲取字符串
//(2,5) 正常包左不包右
//(2) 從指定的索引位置剪到最後
//(-3) 獲取全部字符串
//(5,2) 前面的大,後面的小,不是空,同(2,5),智能調換
var str = " aaa bnn dccc "
console.log(str.trim()); //aaa bnn dccc
var str = "abc";
console.log(str.replace("a","b"));//bbc
var str = "我-愛-你-中-國";
//若參數爲空字符串"",默認用逗號把字符串中的每個元素分隔
console.log(str.split(""));//["我", "-", "愛", "-", "你", "-", "中", "-", "國"]
//若不寫參數,整個字符串作爲數組的一個元素
console.log(str.split());//["我-愛-你-中-國"]
//分隔完畢之後,使用的工具將不存在數組中
console.log(str.split("-"));//["我", "愛", "你", "中", "國"]
var arr1 = 'a,b,d,e,f,e,f,e,g'.split(',');
//找到第一個e的索引
arr1.indexOf('e');//3
//等價於(第二個參數:從第0個位置開始找)
arr1.indexOf('e',0);//3
//找到第二個e的索引(從第一個找到的位置的下一個位置開始找)
arr1.indexOf('e',4);//5
//找到所有的e
var i1 = arr1.indexOf('e');
var i2 = arr1.indexOf('e', i1 + 1);
var i3 = arr1.indexOf('e', i2 + 1);
var i4 = arr1.indexOf('e', i3 + 1);
//將上述代碼從形式上轉換成一模一樣的代碼
//將其寫入循環(while)
i1 = -1;
while(1){
i1 = arr1.indexOf('e', i1 + 1);
//什麼時候跳出?
//如果i1結果是-1,說明從左往右查找字符串都沒有得到需要的數據,即已經遍歷完所有數據
if(i1 == -1){
break;
}
}
//改良(bug:進不去循環)
var i1 = -1;
while(i1 != -1){
i1 = arr1.indexOf('e', i1 + 1);
}
//先做一次再進循環
var i1 = -1;
do{
i1 = arr1.indexOf('e', i1 + 1);
if(i1 != -1){
console.log(i1);
}
}while(i1 != -1);