java - 正则表达式删除java中的特殊字符
问题描述
我有一个带有几个特殊字符的字符串,只需要删除几个(〜和`)。我已经编写了下面的代码,但是当我打印拆分的字符串时,值也会变空。
String str = "ABC123-xyz`~`XYZ 1.7A";
String[] str1= varinaces.split("[\\~`]");
for(int i=0; i< str1.length ; i++){
System.out.println("str==="+ parts[i] );
}
输出:
str===ABC123-xyz str=== str=== str===XYZ 1.7A
为什么空字符串也在这里打印?
解决方案
您正在拆分一个特殊字符...拆分 1 个或多个:
String[] str1= varinaces.split("[~`]+");
另请注意,tilda~
不需要转义。
推荐阅读
- c++ - mac上使用通知中心,如何避免Obj-C/Obj-C++和QT
- java - 如何使用 MySQL 表中的路径显示图像?
- reactjs - 如何解决“create-react-native-app 未被识别为内部或外部命令、可运行程序或批处理文件”问题?
- selenium - 无法通过 xpath 查找元素
- java - 如何理解 shedlock 何时被获取和释放?
- java - 即使布尔值变为假,我的while循环也没有完成我该如何解决?
- java - 仅仅声明对象数组和实际创建它的实例有什么区别?
- django - 如何将 timezone.today 作为默认值?
- python - 当方法基本完成时,AsyncIO 任务不会结束
- python - “Ui_Form”对象没有属性“COLUMN_5”