Java删除中文前后的空格和指定内容

1简介

正则表达式是一种强大而灵活的文本处理工具,使用正则表达式,我们能够构造复杂的文本模式,并对输入的字符串进行搜索,一旦找到了匹配这些模式的部分,你就能能够随心所欲的对它们进行处理。
有一种场景,在进行工资excel解析时,由于excel第一行中标题很可能有空格,这会给我们后续的处理带来很多麻烦,比如说如下的情形,一般工资excel含有如下字段
姓名, 人员类别,入职时间,结算部门,职业年金等,一种可能的情形是,为了对齐, Excel中第一行的内容为

" 姓  名",“人员类别”, “入职时间”, “职业年金(文)”, “基本工资(含补助)”

可见在上述的标题中中文之间存在空格,并且职业年金(文)存在中文括号()以及英文(),需要使用代码去除这些内容。

2代码片段

public static void main(String[] args) {
    String str = " 姓 名";
    str = str.replace(" ", "");
    System.out.println(str);
    String str2 = "周杰伦()".replace("(", "").replace(")", "");
    System.out.println(str2);
    String str3 = " 职 " +
            "业    年        金(文)";
    str3 = str3.replaceAll("(|)|\\s", "");
    System.out.println(str3);

    String str4 = " 职 " +
            "业    年        金(文)  ";
    str4 = str4.replaceAll("[\\s()()]", "");
    String str5 = "基本工资(含补助)";
    str5 = str5.replaceAll("[\\s()()]", "");
    System.out.println(str5);
    System.out.println("End");
}

在上述代码片段中,

\\s

表示空白符(空格、tab、换行、分页)的正则表达式。
另外逻辑操作符

XY      表示Y紧跟在X之后
X|Y     X或Y
(X)      捕获组
[abc]    包含a、b、c的任何字符和(a|b|c)作用相同
.          任意字符
[^abc]    除了a、b、c之外的任何字符
\d         数字[0-9]
\D         非数字
\w         词字符[a-zA-Z0-9]
\W        非词字符

3总结

程序员作为一种积累性的职业,留意工作中的小技巧,提升工作效率是非常必要的。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值