有没有办法从字符串中删除除字符,数字和' - '之外的所有内容

Nic*_*Div 3 java regex

我对正则表达式真的很糟糕,但这就是我想要实现的目标

StringOne = [5, -, e, 4, e, e, 0, 5, 3, 5, e, b, e, e, 5, 0, a, 4, 3, 3, 1, 9, 0, 8, 1, b, 3, 6, 1, b, 3, 6, 4, d, 3, 3, -, 2, 0, c, c, 1, c, 1, -, ., 8, 3, -, 4, 8, 4, 3];
Run Code Online (Sandbox Code Playgroud)

我想删除除数字,字符和' - '之外的所有内容

通过这样做,我找到了保存字符和数字的答案

StringOne = StringOne.replaceAll("[^a-zA-Z0-9]", "");
Run Code Online (Sandbox Code Playgroud)

但我也想保存' - '

是否有某种方法可以将其添加到正则表达式或正则表达式中删除'['','']'

use*_*740 10

当然,添加其他字符(即" - ")以保持已保留的字符类,已经创建和使用.

在字符类的末尾," - "表示自身(尽管它也可以被转义).因此匹配模式变为:

"[^a-zA-Z0-9-]"
Run Code Online (Sandbox Code Playgroud)

(这说,匹配 - 删除 - 所有不是英文字母,十进制数字或短划线的东西.)