如果我有像字母,数字和特殊章程这样的词。我只需要提取字母。不需要数字和特殊字符。我需要知道Java中是否有默认函数来分割字符?
eg.String word="te123@#st";
我只需要测试。
答案 0 :(得分:3)
此解决方案适用于重音/非ascii字符:
答案 1 :(得分:2)
试试这个word.replaceAll("[^a-zA-Z]", "");
答案 2 :(得分:2)
这将删除所有非字母数字字符,但仍会删除重音字符。
String word = "te123@#st";
word = word.replaceAll("[^\\p{Alpha}]", "");
// or word = word.replaceAll("[\\P{Alpha}]", "");
请参阅apidoc reference。
答案 3 :(得分:1)
String word = "te123@#st";
word = word.replaceAll("[\\W\\d._]", "");
答案 4 :(得分:1)
尝试
word = word.replaceAll("\\P{Alpha}", "");
答案 5 :(得分:0)
试试这个:
word = word.replaceAll("[\\d@#_]", "");
答案 6 :(得分:0)
- 我不会使用Regex
来复杂化,但会使用内置的Java功能来回答这个问题。
- 首先使用subString()
方法获取String的“abcd”部分,然后使用toCharArray()
方法将String
分解为{{1 }}}元素,然后使用char
Character class's
方法来了解它是否为数字。
isDigit()