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