Java 检查字符串中的辅音
我想编写一个方法,使用Java 检查字符串中的辅音,java,contains,indexof,Java,Contains,Indexof,我想编写一个方法,使用包含或.indexOf检查字符串的辅音 我想我可以做很长的路,检查字母表中的每个辅音,但我知道有更好的方法。这就是我到目前为止所做的,但正如我所说的,我认为这是一条漫长的道路 public boolean containsConsonant(String searchString) { if(searchString.contains("b") || searchString.contains("c")){ return tru
包含或.indexOf
检查字符串的辅音
我想我可以做很长的路,检查字母表中的每个辅音,但我知道有更好的方法。这就是我到目前为止所做的,但正如我所说的,我认为这是一条漫长的道路
public boolean containsConsonant(String searchString) {
if(searchString.contains("b") || searchString.contains("c")){
return true;
}
我认为一个简单的for
循环在这里最具可读性,您可以使用布尔and测试字符是否在所需的范围内。您可以使用or测试跳过元音。大概
public boolean containsConsonant(String searchString) {
if (searchString == null) {
return false;
}
for (char ch : searchString.toCharArray()) {
char lower = Character.toLowerCase(ch);
if (lower >= 'a' && lower <= 'z') {
if (lower == 'a' || lower == 'e' || lower == 'i' ||
lower == 'o' || lower == 'u') continue;
return true;
}
}
return false;
}
private static final String vowels = "aeiou";
public static boolean containsConsonant(final String searchString) {
if (searchString == null) {
return false;
}
for (char ch : searchString.toCharArray()) {
char lower = Character.toLowerCase(ch);
if (lower >= 'a' && lower <= 'z' && !vowels.contains(String.valueOf(lower))) {
return true;
}
}
return false;
}
我认为一个简单的for
循环在这里最具可读性,您可以使用布尔and测试字符是否在所需的范围内。您可以使用or测试跳过元音。大概
public boolean containsConsonant(String searchString) {
if (searchString == null) {
return false;
}
for (char ch : searchString.toCharArray()) {
char lower = Character.toLowerCase(ch);
if (lower >= 'a' && lower <= 'z') {
if (lower == 'a' || lower == 'e' || lower == 'i' ||
lower == 'o' || lower == 'u') continue;
return true;
}
}
return false;
}
private static final String vowels = "aeiou";
public static boolean containsConsonant(final String searchString) {
if (searchString == null) {
return false;
}
for (char ch : searchString.toCharArray()) {
char lower = Character.toLowerCase(ch);
if (lower >= 'a' && lower <= 'z' && !vowels.contains(String.valueOf(lower))) {
return true;
}
}
return false;
}
您可以创建一个包含所有辅音的数组,然后使用循环运行它
e、 g
您可以创建一个包含所有辅音的数组,然后使用循环运行它
e、 g
我看到您使用contains
或indexOf
在这种情况下,如果您可以使用匹配项
,它将非常容易实现
public boolean containsConsonant(String searchString){
String consonants = ".*[bcdfghj].*"; //list the characters to be checked
return searchString.matches(consonants);
}
我看到您使用contains
或indexOf
在这种情况下,如果您可以使用匹配项
,它将非常容易实现
public boolean containsConsonant(String searchString){
String consonants = ".*[bcdfghj].*"; //list the characters to be checked
return searchString.matches(consonants);
}
这包括所有字母,而不是辅音only@Maljam哎呀。已编辑。包括所有字母,而不是辅音only@Maljam哎呀。编辑好了。谢谢,我认为匹配应该很好。但是你能告诉我“+”是用来做什么的吗?我只是用正则表达式来消除循环和条件表示任何字符。*->0个或多个辅音主要是这些辅音-可以在字符串中的任何位置。只要它们存在于字符串中,它就会返回true@vins-这很有效!但是没有检查辅音的方法吗string.substring(0,1).hassconsonant
?@vins-我会在一个问题中问这个问题,但它是重复的,所以…谢谢,我认为匹配应该可以正常工作。但是你能告诉我“+”是用来做什么的吗?我只是用正则表达式来消除循环和条件表示任何字符。*->0个或多个辅音主要是这些辅音-可以在字符串中的任何位置。只要它们存在于字符串中,它就会返回true@vins-这很有效!但是没有检查辅音的方法吗string.substring(0,1).hassconsonant
?@vins-我会在一个问题中问这个问题,但它是重复的,所以。。。。