給定一個主字符串 A 和 3 個子字符串 D、E、F。需要找到子字符串 D、E、F 并刪除它們。如果從給定的字符串中刪除 D 或 E 或 F,則形成新的字符串 A1。在 A1 上重復(fù)這個過程以獲得 A2,依此類推,直到過程不可能。我的方法import java.util.Scanner;public class Try { public static void main(String[] args) { String c; Scanner scanner = new Scanner(System.in); System.out.println("Enter the string main string1:\n"); //Main String String a = scanner.nextLine(); System.out.println("Enter the substring 1:\n"); String b = scanner.nextLine(); String strNew = a.replace(b, ""); // strNew is after removing substring b System.out.println("New string1 "+strNew); System.out.println("Enter the substring 2:\n"); String b1 = scanner.nextLine(); String strNew1 = strNew.replace(b1, "");//strNew1 is after removing substring b1 System.out.println("New string2 "+strNew1); System.out.println("Enter the substring 3:\n"); String b2 = scanner.nextLine(); String strNew2 = strNew1.replace(b2, "");//strNew is after removing substring b2 System.out.println("New string1 "+strNew2); System.out.println("Lenght of substring is"+strNew2.length()); //Final length of substring }} 但問題是,如果使用此代碼找到具有多個頻率的子字符串,它將刪除所有頻率,但我們只需要刪除一個。例如:-Main String-bkllkbblbSubstring 1-kl //Gives blkbblbSubstring 2-bl// Remove bl from blkbblb should give-**kbblb** but it gives **kbb**Substring 1-b需要找到只刪除一個事件的方法
3 回答

心有法竹
TA貢獻1866條經(jīng)驗 獲得超5個贊
如果我正確理解你的問題,你想要的行為應(yīng)該可以通過使用String#replaceFirst:
String input = "bkllkbblb";
input = input.replaceFirst("kl", "");
input = input.replaceFirst("bl", "");
System.out.println(input);
kbblb
添加回答
舉報
0/150
提交
取消