/* 如何把字符串当中的大小写取反 */
let str = 'sanMuLessON 很帅!*100哈哈';
for (let i = 0; i < str.length; i++) {
// 这种方法很low 不写了
}
str = str.replace(/[a-zA-Z]/g, content => {
// =>content 每一次正则匹配的范围
// 验证大小写 通过 字符串的方法UperCase
// 通过ascII码 =》content.chatCodeAt()>=65&&content.chatCodeAt()<=90
return content.toUpperCase() === content
? content.toLowerCase()
: content.toUpperCase();
});
console.log('====================================');
console.log(str);
console.log('====================================');
/* 实现一个字符串匹配算法,从字符串S 当中检测是否存在字符串T,如存在则返回起始位置,若不存在则返回-1 前提 不能使用 indexOf/includes 等内置的方法,你会如何处理呢 */
let S = 'lesson is superman';
let T = 'isA';
~(function() {
/* 1. 循环原始字符串中的每一项,让每一项都往后截取t.length个位置,然后heT 进行比较 如果不一样 则继续比较 一样就返回当前位置 太low */
// function myIndexOf(T) {
// //=>this:S
// let lenT = T.length;
// let lenS = this.length;
// if (lenT > lenS) return (res = -1);
// let res = -1;
// for (let i = 0; i <= lenS - lenT; i++) {
// if (this.substr(i, lenT) === T) {
// res = i;
// break;
// }
// }
// return res;
// }
function myIndexOf(T) {
let reg = new RegExp(T),
res = reg.exec(this);
return (res = res === null ? -1 : res);
}
String.prototype.myIndexOf = myIndexOf;
})();
console.log(S.myIndexOf(T));
巧用正则实现indexOf,以及字符串当中字母取反
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 调用例子1: randomString() 输出1: JopzU1pJ7zu8E0d51JamTfE6IPLOGu...