bbh*_*zbb 48 java regex replace
在Java中,我有一个文件名字符串.在那里,我想用'_'替换所有非法字符,但不是a-z
,0-9
和-
,.
和_
我试过以下代码:但是这没用!
myString = myString.replaceAll("[\\W][^\\.][^-][^_]", "_");
Run Code Online (Sandbox Code Playgroud)
poi*_*oae 91
你需要更换一切,但是[a-zA-Z0-9.-]
.在^
括号内表示"不".
myString = myString.replaceAll("[^a-zA-Z0-9\\.\\-]", "_");
Run Code Online (Sandbox Code Playgroud)
小智 20
如果您正在寻找Windows平台上的选项,那么您可以尝试以下解决方案,以使用文件名中除"\ /:*?"<> |"以外的所有有效字符.
fileName = fileName.replaceAll("[\\\\/:*?\"<>|]", "_");
Run Code Online (Sandbox Code Playgroud)
Mat*_*all 15
把事情简单化.
myString = myString.replaceAll("[^a-zA-Z0-9.-]", "_");
Run Code Online (Sandbox Code Playgroud)
更简单
myString = myString.replaceAll("[^\\w.-]", "_");
Run Code Online (Sandbox Code Playgroud)
预定义字符类:
\w
一个字符: [a-zA-Z_0-9]
归档时间: |
|
查看次数: |
70333 次 |
最近记录: |