我在这里正在努力争取正则表达式。
如何用连字符替换空格并仅允许a-z符号?
public String filterSpeciesName(String species) {
return species.replaceAll("[^a-zA-Z]", "").toLowerCase();
}
一个例子是
input string "Bar''r$ack Put1in"
output string "barrack-putin"
答案 0 :(得分:2)
return species.trim().replaceAll("\\s", "-").replaceAll("[^a-zA-Z-]", "").toLowerCase();
答案 1 :(得分:0)
要用连字符替换任何空格字符,请使用String#replaceAll("\\s", "-")
。
然后,如果您只想删除不是a-z
的字符,请使用replaceAll("[^a-zA-Z-]", "")
,假设您不想删除新添加的连字符:)
但我宁愿推荐你,也许只是:
species.replaceAll("\\s", "-")
与^[a-zA-Z-]+$
匹配,则Exception