2014-02-06 50 views
0

我在這裏正則表達式掙扎。正則表達式:用連字符替換空格,只允許a-z

如何用連字符替換空格並僅允許使用a-z符號?

public String filterSpeciesName(String species) { 
    return species.replaceAll("[^a-zA-Z]", "").toLowerCase(); 
} 

一個例子是

input string "Bar''r$ack Put1in" 
output string "barrack-putin" 
+1

其實,你並不需要一個正則表達式。簡單的字符串替換通常更簡單快捷。 – erickrf

回答

2
return species.trim().replaceAll("\\s", "-").replaceAll("[^a-zA-Z-]", "").toLowerCase(); 
+0

它在一個小編輯後工作 - 謝謝你! :) – chuckfinley

0

爲了用連字符替換任何空格字符,請使用String#replaceAll("\\s", "-")

然後,如果你想簡單地刪除不a-z的字符,請使用replaceAll("[^a-zA-Z-]", ""),假設你不想擺脫新添加的連字符:)

,但我寧願建議你也許只是:

  • 比賽如果species.replaceAll("\\s", "-")比賽^[a-zA-Z-]+$
  • Exception如果這是不是這樣的
  • 回報格式化的值,否則
相關問題