Java程式檢查字串是否僅包含特定字元


對於給定的字串,例如"str",編寫一個Java程式來檢查它是否包含指定字元陣列中的每個字元。如果包含則列印"found",否則列印"not found"

Java中,字串是一個類,表示一個連續的字元塊。

示例場景

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

更新於: 2024年9月11日

1K+ 瀏覽量

開啟你的職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.