1.常見的幾種字符串操作方法
a.幾種操作字符串的方法(很重要)
var str = 'Java_Scri_pt';
alert(str.substring(2,4));//'va'
alert(str.indexOf('a'));//返回出現a字符的第一個位置
alert(str.split('_'));//'Java,Scri,pts'按照某種規則拆分字符串
b.字符可以比較大小
alert( 'a' < 'b');//true
var str = 's';
if(str <= '9' && str >= '0'){
alert('是數字類型的字符串!');
} else {
alert('不是數字類型的字符串!');
}
2.案例:找出一個字符串中所有的數字字串
例如:‘abc123ddd8990sss321’中所有的數字字串是’123’,’8990’,’321’
思路:可以從前到後掃面字符串,掃描一遍的事件複雜度是O(n),其中聲明一個臨時字符串,掃描過程中逐個判斷是否是數字,如果是數字則將字符連接到臨時字符串變量中,繼續掃描發現後面一個字符不是數字則將前面臨時字符串變量中的字符串壓入到一個棧中(可以理解爲一個數組),最後棧中所有的字符串就是結果。
var str = ‘aasdf987adedw321wbsd5ghjk659’;
function findNumString(str){
var arr = [];//存儲數組
var temp = '';//臨時變量
for(var i = 0 ; i < str.length ; i++){
//1.判斷如果是數字則添加到臨時變量中
if(str[i] <= '9' && str[i] >= '0'){
temp += str.charAt(i);
} else {
//2.如果發現不是數字字符則將上面的數字字符串添加到數組中
if(temp){
arr.push(temp);
temp = '';
}
}
}
//3.判斷結尾的數字字符情況
if(temp){
arr.push(temp);
temp = '';
}
return arr ;
}
alert(findNumString(str));