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));