Java怎么才可以去掉首尾符号

 纠结丿灬情殇 发布于 2022-10-25 10:14

有两种格式的数据都在同一个文件下,格式如下
{1234}
[{4567}]
怎么通过Java去掉这些数据的前后字符,只保留1234和4567

3 个回答
  • 正则表达,两种处理思路:
    1、去除所有非数字字符,使用正则表达式:\D
    2、提取数字字符,使用正则表达式:\d
    3、若字符中间有非数字字符,可能考虑用两边去除非数字字符的方式,从两头遍历检查。(推荐)
    测试代码如下:

    String str = "[{45dfd,<>67}]";        
    Pattern pattern = Pattern.compile("^\\D+|\\D+$");
    Matcher matcher = pattern.matcher(str);
    str = matcher.replaceAll("");
    System.out.println(str);
    

    注:可以根据你的需求定制,是指定匹配“[]”“{}”或者其他字符,或者预定义字符集,总之能够避免匹配中间字符

    2022-10-26 23:10 回答
  • 楼上说的很对~
    给你写个小例子:

    import java.util.regex.Matcher;
    import java.util.regex.Pattern;
    
    public class Main {
    
        private static final Pattern DIGITS_PATTERN = Pattern.compile("\\d+");
    
        public static String getDigits(String str) {
    
            Matcher matcher = DIGITS_PATTERN.matcher(str);
            if (matcher.find()) {
                return matcher.group();
            }
            return "";
        }
    
        public static void main(String[] args) throws Exception {
            String str1 = "{1234}";
            String str2 = "[{4567}]";
    
            System.out.println(getDigits(str1));
            System.out.println(getDigits(str2));
        }
    
    }
    2022-10-26 23:11 回答
  • 只有数字的话,用正则提取

    2022-10-26 23:11 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有