java添加空格_JAVA和JS字符串每4个字符添加空格

一.JS实现方法

'701f3orma43tN5umb6er044567'.replace(/\s/g, '').replace(/(\w{4})(?=\w)/g, '$1 ')

结果: 701f 3orm a43t N5um b6er 0445 67

详细解释

replace(/\s/g, '')

\s:匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v]。注意 Unicode 正则表达式会匹配全角空格符。

将空白字符调换为空字符串

replace(/(\w{4})(?=\w)/g, '$1 ')

将字符串前面符合条件的4个字符替换为4个字符和空格

$1的意思

示例

1、引用 $1...$9 ,是通过 RegExp 来的,而不是新建立的RegExp对象名;

2、你创建的正则对象,被括弧括起来的部分,从左到右,依次是$1...$9 ,

这说明,没有括弧,你也甭想通过,RegExp.$1...$9,拿到任何东西;

下面例子是从javascript帮助文档摘抄的:

function matchDemo(){

var s;

var re = new RegExp("d(b+)(d)","ig");

var str = "cdbBdbsbdbdz";

var arr = re.exec(str);

s = "$1 contains: " + RegExp.$1 + "\n";//$1 contains: bB

s += "$2 contains: " + RegExp.$2 + "\n";//$2 contains: d

s += "$3 contains: " + RegExp.$3;//$3 contains:

return(s);

}

详细解释

var re = new RegExp("d(b+)(d)","ig");

var str = "cdbBdbsbdbdz";

var arr = re.exec(str);

在上面的正则的意思是匹配"db(一次或多次,忽略大小写)d"的字符串,匹配执行之后,匹配出来的数据是: c dbBd bsb dbd z中的dbBd和dbd

$数字内容是从第一个匹配的字符串中取出的,此时第一个匹配的字符串为"dbBd"

$1对应的是第一个括弧中的(b+),大小写忽略,所以是 bB

$2对应的是第二个括弧中的(d),d

$3没有,空。

?=、?<=、?!、?

exp1(?=exp2):查找 exp2 前面的 exp1。

64d4168c118c55967a4c26ee1ac63944.png

(?<=exp2)exp1:查找 exp2 后面的 exp1。

cad33f9fde843633cf0ac4ebdd015a46.png

exp1(?!exp2):查找后面不是 exp2 的 exp1。

5f7377f238afec9b55082080293c11f0.png

(?

1e833b9ff8fbfbf4f9b39105dc7b19a0.png

二.JAVA实现方法

"shjfhjskjfhjskdfhlskdfhls ".trim().replaceAll("(.{4})", "$1 ")

结果:shjf hjsk jfhj skdf hlsk dfhl s

站在巨人肩膀上摘苹果

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值