164 votes

Comment supprimer un caractère unique d'une chaîne de caractères

Pour accéder aux caractères individuels d'une chaîne en Java, nous avons String.charAt(2) . Existe-t-il une fonction intégrée pour supprimer un caractère individuel d'une chaîne de caractères en java ?

Quelque chose comme ça :

if(String.charAt(1) == String.charAt(2){
   //I want to remove the individual character at index 2. 
}

1voto

*Vous pouvez supprimer une valeur de chaîne en utilisant le StringBuilder et deletecharAt.

String s1 = "aabc";
StringBuilder sb = new StringBuilder(s1);
for(int i=0;i<sb.length();i++)
{
  char temp = sb.charAt(0);
  if(sb.indexOf(temp+"")!=1)
  {                             
    sb.deleteCharAt(sb.indexOf(temp+""));   
  }
}

1voto

koushick Points 324

Pour supprimer un seul caractère de la chaîne de caractères donnée, veuillez trouver ma méthode en espérant qu'elle sera utile. J'ai utilisé str.replaceAll pour supprimer la chaîne de caractères mais il existe de nombreuses façons de supprimer un caractère d'une chaîne de caractères donnée mais je préfère la méthode replaceall.

Code pour la suppression de l'otage :

import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;

public class Removecharacter 
{

    public static void main(String[] args) 
    {
        String result = removeChar("Java", 'a');
        String result1 = removeChar("Edition", 'i');

         System.out.println(result + " " + result1);

    }

    public static String removeChar(String str, char c) {
        if (str == null)
        {
            return null;
        }
        else
        {   
        return str.replaceAll(Character.toString(c), "");
        }
    }

}

Image de la console :

Veuillez trouver l'image de la console ci-jointe,

enter image description here

Merci d'avoir demandé. :)

0voto

ceph3us Points 4819
public static String removechar(String fromString, Character character) {
    int indexOf = fromString.indexOf(character);
    if(indexOf==-1) 
        return fromString;
    String front = fromString.substring(0, indexOf);
    String back = fromString.substring(indexOf+1, fromString.length());
    return front+back;
}

0voto

natwar kumar Points 51
           BufferedReader input=new BufferedReader(new InputStreamReader(System.in));
   String line1=input.readLine();
   String line2=input.readLine();
         char[]  a=line2.toCharArray();
          char[] b=line1.toCharArray();
           loop: for(int t=0;t<a.length;t++) {

            char a1=a[t];
           for(int t1=0;t1<b.length;t1++) {
               char b1=b[t1];  
               if(a1==b1) {
                   StringBuilder sb = new StringBuilder(line1);
                   sb.deleteCharAt(t1);
                   line1=sb.toString();
                   b=line1.toCharArray();
                   list.add(a1);
                   continue  loop;   
               }

            }

0voto

Erk Points 71

Lorsque j'ai ce genre de questions, je me demande toujours : " que feraient les gourous de Java ? " :)

Et je répondrais à cela, dans ce cas, en regardant l'implémentation de String.trim() .

Voici une extrapolation de cette mise en œuvre qui permet d'utiliser davantage de caractères de coupe.

Toutefois, notez que la coupe originale supprime en fait tous les caractères qui sont <= ' ' Il se peut donc que vous deviez le combiner avec l'original pour obtenir le résultat souhaité.

String trim(String string, String toTrim) {
    // input checks removed
    if (toTrim.length() == 0)
        return string;

    final char[] trimChars = toTrim.toCharArray();
    Arrays.sort(trimChars);

    int start = 0;
    int end = string.length();

    while (start < end && 
        Arrays.binarySearch(trimChars, string.charAt(start)) >= 0)
        start++;

    while (start < end && 
        Arrays.binarySearch(trimChars, string.charAt(end - 1)) >= 0)
        end--;

    return string.substring(start, end);
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X