Java 正则表达式:用连字符替换空格,并且只允许a-z
我在和regex打交道 如何用连字符替换空格,并且只允许a-z符号Java 正则表达式:用连字符替换空格,并且只允许a-z,java,regex,Java,Regex,我在和regex打交道 如何用连字符替换空格,并且只允许a-z符号 public String filterSpeciesName(String species) { return species.replaceAll("[^a-zA-Z]", "").toLowerCase(); } 例如 input string "Bar''r$ack Put1in" output string "barrack-putin" 若要用连字符替换任何空格字符,请使用String#replaceAl
public String filterSpeciesName(String species) {
return species.replaceAll("[^a-zA-Z]", "").toLowerCase();
}
例如
input string "Bar''r$ack Put1in"
output string "barrack-putin"
若要用连字符替换任何空格字符,请使用
String#replaceAll(“\\s”、“-”)
然后,如果您只想删除不是a-z
的字符,请使用replaceAll(“[^a-zA-z-]”,“)
,假设您不想删除新添加的连字符:)
但我更愿意建议你也许只是:
- 匹配如果
匹配^[a-zA-Z-]+$species.replaceAll(“\\s”,““-”)匹配
- 如果不是这种情况,则抛出
异常
- 否则返回格式化值
return species.trim().replaceAll("\\s", "-").replaceAll("[^a-zA-Z-]", "").toLowerCase();