编写一个 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 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