• Java程序保存文件时,不允许包含以下内容【 \ \ / : * ? “ <>| 】


    📚简介:

    在这里插入图片描述

           使用程序对网络视频进行下载,通常他们的标题可能都会含有windows文件名称不允许的符号,正是如此,一开始还没有意识到这个问题,开始爬取数据才发现程序报错了文件名、目录名或卷标语法不正确。这时我才想起来这个问题…

    在这里插入图片描述
           那既然这样我们就开始修改代码使用字符串的replaceAll方法,由于用该方法给定的替换值可以是正则表达式,用于匹配的每个子字符串,替换视频中的违规符号,由于我对正则公式又不太熟,毕竟怎么多东西要学习,小脑袋瓜子记不下那么多,记了也会忘下一次什么时候可以用的上呢~偷笑

    📝正则在线

           在线正则表达,我们可以在网址中自己填写正则表达式并且可以得到验证,验证成功则表示我们程序中就可以使用,万无一失!

    网址
    界面样式如图:

    在这里插入图片描述

    💨教学时间:

           从图中我们可以看出第一个输入框填写我们的正则表达, 第二个输入框用于输入我们需要被验证的信息,第三个输入框则是 显示我们的数据有没有被匹配上,被匹配上的数据会高亮显示

    💌举例:

    输入的只能是数字才能被匹配上正则为:^[0-9]*$

    在这里插入图片描述
    如果传入的参数是带英文的还能被匹配上吗?

    在这里插入图片描述
    可以看出并没有被匹配上.


    网站下拉可以看到常用的表达式已经举例出来了

    在这里插入图片描述

    如果没有找到也没关系,网站有语法参考

    🎊语法参考

    我们可以点击语法参考
    在这里插入图片描述来匹配自己需要的正则表达式.

    ✨匹配文件不允许包含的符号

    我们已经知道了,windows系统文件名称不能包含\ / : * ? " < >| 那么我们在参考语法规则.
    在这里插入图片描述

    正向预查模式就是找到我们自己定义的expr数据

    (?=expr) - 正向预查模式 expr
    
    • 1

    注意:由于\反斜杠有些特殊使用需要使用双斜杠表示
    最终正则表达就是:

    [?=/?:\\"*<>|]+
    
    • 1

    从图中可以看出文件不能包含的字符都已经被匹配上高亮显示了

    在这里插入图片描述
    那我们如果标题里面的汉字会不会被匹配上呢?

           可以看出需要验证的数据中\ / : * ? " < 我是月饼侠>| 我是月饼侠并没有被高亮显示,因为他本来就不在匹配的正则中那么该正则可以在软件中使用

    在这里插入图片描述

    🚀程序测试正则

    注意:由于\反斜杠有些特殊使用需要使用双斜杠表示

        public static void main(String[] args) {
            //视频标题包含 < > 符号我们需要过滤
            String cd="#月饼制作 #月饼  爱吃爱喝爱生活<美滋滋>#农村美食 #抖音美食推";
            System.out.println(cd.replaceAll("[?=/?:\\\\\"*<>|]+",""));
        }
    
    • 1
    • 2
    • 3
    • 4
    • 5

    运行结果:

    可以看出违规符号已经被替换成空了

    在这里插入图片描述

    🍥结束:

    到这里保存文件解决文件名称不合法的方式到这里就完成了,如果对你有帮助,一键三连,一起加油!!!

  • 相关阅读:
    08-JVM垃圾收集器详解
    windows10下安装和配置nodejs环境
    程序分析与优化 - 5 指针分析
    8 种实现垂直和水平居中元素的方法汇总
    2023-1024程序员节
    人脸检测及追踪回顾
    基于GPIO子系统编写LED驱动,编写应用程序进行测试设置定时器,5秒钟打印一次hello world
    RT-Thread移植到STM32单片机过程
    Empowering Low-Light Image Enhancer through Customized Learnable Priors 论文阅读笔记
    Mybatis的timeout和Db2的lock timeout
  • 原文地址:https://blog.csdn.net/qq_45502336/article/details/126647185