string对象属性:
length
字符串长度
写法:
let str1: string = "hello word!";
console.log(`字符长度:${str1.length}`);
string对象方法:
1.charAt
返回在指定位置的字符
写法:
console.log(`返回指定的位置的字符:${str1.charAt(1)}`);
2.charCodeAt
返回在指定位置的字符Unicode编码
写法:
console.log(`返回在指定位置的字符的 Unicode 编码:${str1.charCodeAt}`);
3.fromCharCode
从字符编码创建一个字符串
写法:
console.log(`从字符编码创建一个字符串:${String.fromCharCode(97, 98)}`);
4.concat
连接字符串
写法:
console.log('连接的新字符串:' + str1.concat('你好'));
console.log(str1);
5.indexOf
检索字符串
写法:
console.log(`检索字符串:${str1.indexOf('o')}`);
6.lastIndexOf
从后向前搜索字符串
写法:
console.log(`从后向前搜索字符串:${str1.lastIndexOf('o')}`);
7.localeCompare
用本地特定顺序比较两个字符串
写法:
let strs: string[] = ['张三', '李四', '王五']
strs.sort((a, b) => { return a.localeCompare(b) })
console.log(strs);
8.replace
替换字符
写法:
console.log(`${str1}替换字符:${str1.replace('word', '世界')}`);
9.slice
提取字符串
写法:
console.log(`提取字符串:${str1.slice(3)},${str1.slice(3, 7)}`);
10.split
拆分字符串
写法:
strs = str1.split('');
console.log(strs);
11.substr
从开始的索引提取n个字符
写法:
console.log(`从开始的索引提取n个字符${str1.substr(3, 6)}`);
12.substring
两个下标之间的字符
写法:
console.log(`两个下标之间的字符:${str1.substring(3, 7)}`);
13.toLocaleUpperCase
转大写
写法:
console.log(`转大写:${str1.toLocaleUpperCase()}`);
全部:
let str1: string = "hello word!";
console.log(`字符长度:${str1.length}`);
console.log(`返回指定的位置的字符:${str1.charAt(1)}`);
console.log(`返回在指定位置的字符的 Unicode 编码:${str1.charCodeAt}`);
console.log(`从字符编码创建一个字符串:${String.fromCharCode(97, 98)}`);
console.log('连接的新字符串:' + str1.concat('你好'));
console.log(str1);
console.log(`检索字符串:${str1.indexOf('o')}`);
console.log(`从后向前搜索字符串:${str1.lastIndexOf('o')}`);
let strs: string[] = ['张三', '李四', '王五']
strs.sort((a, b) => { return a.localeCompare(b) })
console.log(strs);
console.log(`${str1}替换字符:${str1.replace('word', '世界')}`);
console.log(`提取字符串:${str1.slice(3)},${str1.slice(3, 7)}`);
//拆分字符串
strs = str1.split('');
console.log(strs);
console.log(`从开始的索引提取n个字符${str1.substr(3, 6)}`);
console.log(`两个下标之间的字符:${str1.substring(3, 7)}`);
console.log(`转大写:${str1.toLocaleUpperCase()}`);
练习:
1.有很多邮箱,需要获取每一个邮箱的域名
写法:
let emails: string[] = ['123@qq.com', 'asddf@sina.cn']
for (let i in emails) {
let email: string = emails[i]
let ind: number = email.lastIndexOf('.')//获取.的下标
let ym: string = email.substring(ind + 1)
console.log(`${email}的域名:${ym}`);
}
2.把所有的0替换为o 把O--->o
写法:
let pwds: string[] = ['12300', '1230O', 'asdOO']
for (let i in pwds) {
//g全局
pwds[i] = pwds[i].replace(/0/g, 'o').replace(/O/g, 'o');
//pwds[i]=pwds[i].replace('O', 'o');
}
console.log(pwds);
3.根据身份证号,获取用户出生年月日
写法:
let cardNum: string = '123456200809091234';
let year: string = cardNum.substring(6, 10)
let month: string = cardNum.substring(10,12)
let day: string = cardNum.substring(12,14)
console.log(`${year}年${month}月${day}日`);
4.根据身份证号,获取用户年龄
写法:
let nows: Date = new Date();
let y = nows.getFullYear()
let m = nows.getUTCMonth() + 1//从0开始
let d = nows.getDate()
console.log(`${y}/${m}/${d}`);
//2020/8/14
let s = y - parseInt(year);//虚岁
if ((m > parseInt(month)) || (m == parseInt(month) && d < parseInt(day))) {
s -= 1//没有过生日之前
}
console.log(`真实年龄:${s}`);