(1)知识点
- (1.1)大小写转换
- (1.2)获取指定位置的字符或unicode
- (1.3)查找关键字的位置
- (1.4)获取子字符串
(2)细化
所有API都无法修改原字符串,必定返回新字符串
(2.1)大小写转换
var newStr=str.toLowerCase(); //全部转小写
var newStr=str.toUpperCase(); //全部转大写
(2.2)获取指定位置的字符或unicode
a. var char=str[i]
b. str.charAt(i);
var unicode=str.charCodeAt(i);
(2.3)查找关键字的位置
返回的都是关键字的位置下标
a.找下一个匹配的关键字位置:
var i=str.indexOf("kword",starti)
该方法将从头到尾地检索字符串 str,看它是否含有子串 kword;如果要检索的字符串值没有出现,则该方法返回 -1。
starti是可选参数,如果省略starti,则会从0开始。
indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。
b.找前一个匹配的关键子位置:
var i=str.lastIndexOf("kword",starti);
如果省略starti,则会从最后一位开始
starti:开始查找的位置,如果没找到,都返回-1
(2.4)获取子字符串
a. var sub=str.slice(starti,endi+1);
b. str.substring(starti,endi+1); //不支持负数参数
c. str.substr(starti,n);
a的使用方法等同于数组,http://www.jianshu.com/p/000ea322f218
(3)实践
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>string API</title>
</head>
<body>
<script type="text/javascript">
/**
* (1)大小写转换
* (2)获取指定位置的字符或unicode
* (3)查找关键字的位置
* (4)获取子字符串
*
*/
init();
function init() {
var str1 = 'Hello World!';
lower(str1);
upper(str1);
char(str1);
//检索关键字 indexOf
findKeyword(str1, 'H'); // -1,H位置在0,检索从1开始的
findKeyword(str1, 'e'); // 1
findKeyword(str1, 'hello'); // -1
findKeyword(str1, 'World'); // 6
//lastIndexOf
findLastKeyword(str1, 'H'); //0
findLastKeyword(str1, 'e'); //1
findLastKeyword(str1, 'World'); //-1
//获取子字符
getChild(str1);
}
//全部转换成小写
function lower(str) {
var newStr = str.toLowerCase();
console.log(newStr);
}
//全部转换成大写
function upper(str) {
var newStr = str.toUpperCase();
console.log(newStr);
console.log('----------完美的分隔符----------');
}
//获取指定位置的字符
function char(str) {
console.log('位置在4的字符:' + str.charAt(4));
console.log('位置在8的字符:' + str[8]);
var unicode = str.charCodeAt(8);
console.log('位置在8的unicode:' + unicode);
console.log('----------完美的分隔符----------');
}
/**
* 查找关键字的位置
* 返回的都是关键字的位置下标
*/
function findKeyword(str, keyWord) {
var i = str.indexOf(keyWord, 1); //省略位置,则从0开始
console.log(i);
}
function findLastKeyword(str, keyWord) {
var i = str.lastIndexOf(keyWord, 1); //省略位置,则从0开始
console.log(i);
}
/**
* 获取子字符串
* var sub=str.slice(starti,endi+1);
* str.substring(starti,endi+1); //不支持负数参数
* str.substr(starti,n);
*
*/
function getChild(str) {
var sub1 = str.slice(2, 4);
var sub2 = str.substring(2, 4);
var sub3 = str.substr(2, 3);
console.log('sub1:' + sub1);
console.log('sub2:' + sub2);
console.log('sub3:' + sub3);
}
</script>
</body>
</html>