在Java中,我們如何檢查字符串以查看它是否包含法文字母?如何檢查一個字符串是否包含法文字母?
回答
public static boolean containsFrench(String s) {
Pattern frenchPattern = Pattern.compile("(?i)[çèéêîôœû]");
return frenchPattern.matcher(s).find();
}
+1比我的天真循環好很多;-) – assylias
由於「法文字母」的概念定義不明確,解決此問題的最簡單方法是創建一個包含您認爲合格的所有字母的數組,然後只測試字符串中的每個字符以查看它是否是是在陣列中:
(我不打算爲你編寫代碼,因爲這是任何人完成Java課程或教程應該能夠在五分鐘內寫入的東西,如果你不能在5分鐘內完成,然後你需要親自練習)。
有更優雅和/或更有效的方法來做到這一點。但對初學者來說,簡單是有好處的。
快速的解決方案 - 你可能要檢查列表是詳盡的(例如,我沒有將重音的大帽或者這是不是很普遍在Y),但這個概念應該工作:
public static void main(String[] args) {
Set<Character> frenchLetters = new HashSet<> (Arrays.asList('â', 'à', 'ç', 'é', 'ê', 'ë', 'è', 'ï', 'î', 'ô', 'û', 'ù'));
String s = "abcdà";
for (char c : s.toCharArray()) {
if (frenchLetters.contains(c)) {
System.out.println("Found a French letter: " + c);
}
}
}
這可能需要'frenchLetters.contains(Character.toLowerCase(c))' –
@BrendanLong'Character.toLowerCase'不是locale知道的,所以可能會導致意外的結果。 'String.toLowerCase(Locale.FR)'是有道理的。但我不知道是否所有重音大寫字母都是有效的...... – assylias
嘗試:
public boolean hasFrenchCharacter(String input) {
if (input.contains("ù") == true) return true;
if (input.contains("û") == true) return true;
if (input.contains("ü") == true) return true;
if (input.contains("ÿ") == true) return true;
if (input.contains("à") == true) return true;
if (input.contains("â") == true) return true;
if (input.contains("æ") == true) return true;
if (input.contains("ç") == true) return true;
if (input.contains("é") == true) return true;
if (input.contains("è") == true) return true;
if (input.contains("ê") == true) return true;
if (input.contains("ë") == true) return true;
if (input.contains("ï") == true) return true;
if (input.contains("î") == true) return true;
if (input.contains("ô") == true) return true;
if (input.contains("œ") == true) return true;
return false;
}
如果它有一個法國人的性格,否則爲false這將返回true。
真的,這不是我會做的方式,我會做這種方式:
public boolean hasFrenchCharacter(String input) {
return input.contains("ù") ||
input.contains("û") ||
input.contains("ü");
//and so on...
}
'== true'是多餘的(可以是'if(input.contains(「 ù「))'等),但除此之外,我喜歡這個答案,因爲它可能對初學者更有意義。 –
- 1. 檢查一個字符串是否包含數字和字母
- 2. 如何檢查字符串是否只包含英文字母?
- 3. 檢查一個字符串是否只包含某些字母
- 4. 如何檢查一個字符是否包含特定字母
- 5. 如何檢查一個字符串是否包含英文字母(A-Z)?
- 6. PHP檢查字符串是否包含一些字母/數字
- 7. 如何檢查字符串是否包含特殊字母?
- 8. Lua:如何檢查一個字符串是否只包含數字和字母?
- 9. c#如何檢查一個Long字符串是否包含任何字母?
- 10. 如何檢查字符串是否包含字母表中的任何字母?
- 11. 檢查一個字/字母是否包含在一個字符串與JavaScript
- 12. 檢查一個字符串是否不包含一些文字
- 13. 如何檢查一個字符串是否包含zalgo文本?
- 14. 如何檢查一個字符串是否包含字典
- 15. Java,如何檢查一個字符串是否包含數字?
- 16. 如何檢查一個字符串是否多次包含相同的字母?
- 17. 如何檢查一個字符串是否只包含PHP中的字母?
- 18. 如何檢查生成的字符串是否至少包含一個字母
- 19. 檢查一個字符串是否包含任何字符
- 20. Applescript:檢查一個字符串是否包含空字符串?
- 21. 如何檢查一個字符串是否包含一個子字符串 - mysql
- 22. 檢查字符串是否包含字母數字
- 23. 如何檢查一個字符串是否包含任何一些字符串
- 24. 如何檢查字符串是否包含某個字符?
- 25. 檢查一個字符串不包含字母字符
- 26. 如何檢查一個TextView是否包含某個字符串
- 27. Javascript - 如何檢查一個字符串是否包含多個子字符串
- 28. 如何檢查一個字符串是否是純字母?
- 29. 檢查一個字符串是否只包含特殊字符
- 30. 檢查一個字符串是否包含給定字符
使法國字母的排列並覈對? – Doorknob
什麼是「法文字母」?拉丁字符?只有以法文顯示的特定字母(如果是,哪些字母)? –
謝謝,我的意思是法語特殊字符(帶有口音的那些!)。 – Ashkan