Java程序检查字符串是否仅包含特定字符
对于给定的字符串,例如"str",编写一个Java程序来检查它是否包含指定字符数组中的每个字符。如果包含则打印"found",否则打印"not found"。
示例场景
Input 1: String str = "pqrst";
Input 2: char[] chSearch = {'p', 'q', r'};
Output: res = Character p, q and r found in given string
在字符串"pqrst"中,我们正在搜索字符集{'p', 'q', 'r'}。
使用迭代
这里,使用for循环迭代到字符串的长度,并检查字符串中的每个字符。如果在字符串中找到了给定字符数组中的匹配字符,则表示成功,否则表示失败。
示例
以下Java程序演示了如何检查指定字符串是否包含某些字符。
public class Demo {
public static void main(String[] args) {
String str = "pqrst";
// characters to be searched
char[] chSearch = {'p', 'q', 'r'};
for (int i = 0; i < str.length(); i++) {
char ch = str.charAt(i);
for (int j = 0; j < chSearch.length; j++) {
if (chSearch[j] == ch) {
System.out.println("Character "+chSearch[j]+" found in string "+str);
}
}
}
}
}
以上代码的输出如下:
Character p found in string pqrst Character q found in string pqrst Character r found in string pqrst
使用Java流
Java流是在Java 8版本中引入的。它用于对Java集合和数组执行各种操作,例如过滤、映射和归约。这里,我们使用filter()方法来查找流中仅存在于字符数组中的那些字符。
示例
让我们看看以上方法的实际演示:
import java.util.Arrays;
public class Demo {
public static void main(String[] args) {
String str = "pqrst";
// characters to be searched
char[] chSearch = {'p', 'q', 'r'};
// convert the string to a stream of characters
str.chars()
// convert each character to a char
.mapToObj(c -> (char) c)
// filter characters that are in chSearch
.filter(ch -> new String(chSearch).indexOf(ch) >= 0)
// for each matching character, print the message
.forEach(ch -> System.out.println("Character " + ch + " found in string " + str));
}
}
运行以上代码后将显示以下输出:
Character p found in string pqrst Character q found in string pqrst Character r found in string pqrst
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C编程
C++
C#
MongoDB
MySQL
Javascript
PHP