js 正则记

var reg = new RegExp("(^|&)" + key + "=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);

字符串开头或者&符号开头,加上name变量的内容,再加上任意个不含&的字符,以&或字符串结尾
replace并不会改变原有字符串

var str = 'I? love ?? the ?great ? ?wall in ?beijing'
var arr = str.match(/[\?][a-z]/g)
// console.log(arr)
for(let i=0;i<arr.length;i++) {
	let temp = arr[i].toUpperCase()
	console.log(arr[i],temp)
	str.replace('the', '8')
	console.log(str)
}
console.log(str)
var tempstr = str.replace('the','888')
console.log(tempstr)

结果:

VM216:6g ?G
VM216:8 I? love ?? the ?great ? ?wall in ?beijing
VM216:6 ?w ?W
VM216:8 I? love ?? the ?great ? ?wall in ?beijing
VM216:6 ?b ?B
VM216:8 I? love ?? the ?great ? ?wall in ?beijing
VM216:10 I? love ?? the ?great ? ?wall in ?beijing
VM216:12 I? love ?? 888 ?great ? ?wall in ?beijing

在这里插入图片描述
发现 replace并不会改变原有字符串。

例题

/**
   * 请处理给定字符串:
   *   - 去掉无用字符和乱码, 只保留大小写英文字母, 单引号, 和空格
   *   - 把一个或多个连续无用字符和乱码换成一个空格
   * @param str: 字符串, 例 "I'm我driving是to乱Beijing码after breakfast"
   * @return str: 例 "I'm driving to Beijing after breakfast"
   */
  
decode=str => {
    //TODO your code goes here...
    var reg = /([a-z]|[A-Z]|\'|\s)+/g
    var b = str.match(reg)
    // console.log(b.join(' '))
    return b;

  }
  var str = "I'm我driving是to乱Beijing码after breakfast"
  decode(str)
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值