Java 程序移除字符串中第一个字符的出现

编写一个 Java 程序,通过示例删除或移除字符串中第一个出现的字符。在此移除第一个字符的示例中,我们使用了 StringBuilder 的 indexOf 和 deleteCharAt 函数。 

为了获取索引位置,我们使用了 indexOf,delFirstCharStr.indexOf(del_ch) 返回第一个索引位置。接下来,我们使用 sb.deleteCharAt(i) 来删除或移除 delFirstCharStr 中的该字符。

import java.util.Scanner;

public class DeleteFirstCharOcc1 {
	private static Scanner sc;
	public static void main(String[] args) {
		String delFirstCharStr;
		char del_ch;
		
		sc= new Scanner(System.in);

		System.out.print("\nPlease Enter String to Delete First Character =  ");
		delFirstCharStr = sc.nextLine();
		
		System.out.print("\nEnter the Character to Delete =  ");
		del_ch = sc.next().charAt(0);
		
		StringBuilder sb = new StringBuilder(delFirstCharStr);
		int i = delFirstCharStr.indexOf(del_ch);
		sb.deleteCharAt(i);
		
		System.out.println("\nThe Final String after Deleting " + del_ch + " = " + sb);
	}
}
Java Program to Remove First Character Occurrence in a String

Java StringBuffer 也具有 indexOf 和 deleteCharAt 函数,用于移除字符串中第一个出现的字符。

import java.util.Scanner;

public class DeleteFirstCharOcc2 {
	private static Scanner sc;
	public static void main(String[] args) {
		String delFirstCharStr;
		char del_ch;
		
		sc= new Scanner(System.in);

		System.out.print("\nPlease Enter String to Delete First Character =  ");
		delFirstCharStr = sc.nextLine();
		
		System.out.print("\nEnter the Character to Delete =  ");
		del_ch = sc.next().charAt(0);
		
		StringBuffer sbuff = new StringBuffer(delFirstCharStr);
		int i = delFirstCharStr.indexOf(del_ch);
		sbuff.deleteCharAt(i);
		
		System.out.println("\nThe Final String after Deleting First Occurrence " 
		+ del_ch + " = " + sbuff);
	}
}

移除字符串中第一个字符出现的结果是

Please Enter String to Delete First Character =  java programs

Enter the Character to Delete =  a

The Final String after Deleting First Occurrence a = jva programs

Java 程序移除字符串中第一个字符出现示例 3

在此示例中,我们使用 For 循环迭代 delFirstCharStr 从开始到结束。在循环内,我们将 delFirstCharStr 的每个字符与 del_ch 进行比较。如果它们相等,break 语句将退出 Javac 的 for 循环。接下来,我们使用 StringBuffer 和 StringBuilder 的 deleteCharAt 函数来移除该字符。

import java.util.Scanner;

public class DeleteFirstCharOcc3 {
	private static Scanner sc;
	public static void main(String[] args) {
		String delFirstCharStr;
		char del_ch;
		int i;
		
		sc= new Scanner(System.in);

		System.out.print("\nPlease Enter String to Delete First Character =  ");
		delFirstCharStr = sc.nextLine();
		
		System.out.print("\nEnter the Character to Delete =  ");
		del_ch = sc.next().charAt(0);
		
		StringBuilder sb = new StringBuilder(delFirstCharStr);
		StringBuffer sbuff = new StringBuffer(delFirstCharStr);
		
		for(i = 0; i < delFirstCharStr.length(); i++) {
			if(delFirstCharStr.charAt(i) == del_ch) {
				break;
			}
		}		
		System.out.format("\nThe First Character Occurrence of %c at %d position", del_ch, i);
		
		sb.deleteCharAt(i);		
		System.out.println("\nThe Final String after Deleting " + del_ch + " = " + sb);
		
		sbuff.deleteCharAt(i);
		System.out.println("\nThe Final String after Deleting First Occurrence " 
		+ del_ch + " = " + sbuff);
	}
}
Please Enter String to Delete First Character =  delete

Enter the Character to Delete =  e

The First Character Occurrence of e at 1 position
The Final String after Deleting e = dlete

The Final String after Deleting First Occurrence e = dlete

要移除第一个字符的出现,我们可以使用 String 的 substring 函数。在此 Java 程序中,delFirstCharStr.indexOf(del_ch) 查找第一个字符出现的索引位置。接下来,delFirstCharStr.substring(0, i) 返回到 i 的子字符串。然后,delFirstCharStr.substring(i + 1) 将字符串从下一个索引位置连接到 delFirstCharStr 字符串的末尾。

import java.util.Scanner;

public class DeleteFirstCharOcc4 {
	private static Scanner sc;
	public static void main(String[] args) {
		String delFirstCharStr;
		char del_ch;
		
		sc= new Scanner(System.in);

		System.out.print("\nPlease Enter String to Delete Character =  ");
		delFirstCharStr = sc.nextLine();
		
		System.out.print("\nEnter the Character to Delete =  ");
		del_ch = sc.next().charAt(0);
		
		int i = delFirstCharStr.indexOf(del_ch);
		String out = delFirstCharStr.substring(0, i) + delFirstCharStr.substring(i + 1);
		
		System.out.println("\nThe Final String after Deleting " + del_ch + " = " + out);
	}
}
Please Enter String to Delete Character =  hi coding

Enter the Character to Delete =  i

The Final String after Deleting i = h coding

在 Java 中,字符串的 replaceFirst 函数将第一个出现的字符替换为新字符。在这里,delFirstCharStr.replaceFirst(String.valueOf(del_ch), “”) 用空字符串移除了 del_ch 的第一个出现。请记住,此函数接受字符串参数,因此我们已将该字符转换为字符串。

import java.util.Scanner;

public class DeleteFirstCharOcc5 {
	private static Scanner sc;
	public static void main(String[] args) {
		String delFirstCharStr, x = "";
		char del_ch;
		
		sc= new Scanner(System.in);

		System.out.print("\nPlease Enter String to Delete Character =  ");
		delFirstCharStr = sc.nextLine();
		
		System.out.print("\nEnter the Character to Delete =  ");
		del_ch = sc.next().charAt(0);
		
		x = delFirstCharStr.replaceFirst(String.valueOf(del_ch), "");

		System.out.println("\nThe Final String after Deleting " + del_ch + " = " + x);
	}
}
Please Enter String to Delete Character =  remove char

Enter the Character to Delete =  e

The Final String after Deleting e = rmove char

在此 Java 示例中,我们通过 toCharArray() 将 delFirstCharStr 字符串转换为 delFirstCharArr 字符数组。接下来,在 for 循环内,我们将 delFirstCharStr 的每个字符串字符与 del_ch 进行比较。如果它们相等,我们将该索引位置赋为 0 或空字符,然后使用 Java break 语句退出 for 循环

import java.util.Scanner;

public class DeleteFirstCharOcc7 {
	private static Scanner sc;
	public static void main(String[] args) {
		String delFirstCharStr;
		char del_ch;
		int i = 0;
		
		sc= new Scanner(System.in);

		System.out.print("\nPlease Enter String to Delete First Character =  ");
		delFirstCharStr = sc.nextLine();
		
		System.out.print("\nEnter the Character to Delete =  ");
		del_ch = sc.next().charAt(0);
		
		char[] delFirstCharArr = delFirstCharStr.toCharArray();
		
		for(i = 0; i < delFirstCharArr.length; i++) {
			if(delFirstCharStr.charAt(i) == del_ch) {
				delFirstCharArr[i] = 0;
				break;
			}
		}
		System.out.print("\nThe Final String after Deleting " + del_ch + " = " );
		System.out.print(delFirstCharArr);
		
	}
}
Please Enter String to Delete First Character =  programming

Enter the Character to Delete =  g

The Final String after Deleting g = proramming