我对正则表达式非常糟糕,但这就是我想要实现的目标
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];
我想删除除数字,字符和' - '
之外的所有内容通过这样做我找到了保存字符和数字的答案
StringOne = StringOne.replaceAll("[^a-zA-Z0-9]", "");
但我也想保存' - '
我是否有某种方法可以将其添加到正则表达式或正则表达式中删除'['','']'
答案 0 :(得分:10)
当然,添加其他字符(即" - ")以保留已保留的字符类,已经创建和使用。
在角色等级结束时," - "意味着自己(虽然也可以逃脱)。因此匹配模式变为:
"[^a-zA-Z0-9-]"
(这就是说,匹配 - 删除 - 所有不是英文字母,十进制数字或短划线的内容。)
答案 1 :(得分:0)
我实际上找到了一种方式
StringOne= StrignOne.replaceAll("\\[|\\]|\\,", "");
感谢所有正在尝试的人。
答案 2 :(得分:0)
你可以尝试
stringOne.replaceAll("^[a-zA-Z0-9-]",""):
使用此网站来玩正则表达式,看看你的表达是否正确:
http://www.regexplanet.com/advanced/java/index.html
编辑:^ [a-zA-Z0-9 [ - ]]不正确,因为这两套不包括在内。它们应该表示为一组字符:[a-zA-Z0-9 - ]