web-dev-qa-db-fra.com

Comment puis-je trouver un espace dans une chaîne?

Comment puis-je vérifier si une chaîne contient un caractère d'espacement, un espace vide ou "" Si possible, veuillez fournir un exemple Java. 

Par exemple: String = "test Word"; 

51
jimmy

Pour vérifier si une chaîne contient des espaces, utilisez un Matcher et appelez sa méthode find.

Pattern pattern = Pattern.compile("\\s");
Matcher matcher = pattern.matcher(s);
boolean found = matcher.find();

Si vous voulez vérifier si ne contient que des espaces, vous pouvez utiliser String.matches :

boolean isWhitespace = s.matches("^\\s*$");
81
Mark Byers

Vérifiez si une chaîne contient au moins un caractère d'espace blanc:

public static boolean containsWhiteSpace(final String testCode){
    if(testCode != null){
        for(int i = 0; i < testCode.length(); i++){
            if(Character.isWhitespace(testCode.charAt(i))){
                return true;
            }
        }
    }
    return false;
}

Référence:


En utilisant la bibliothèque Guava , c'est beaucoup plus simple:

return CharMatcher.WHITESPACE.matchesAnyOf(testCode);

CharMatcher.WHITESPACE est également beaucoup plus complet en ce qui concerne la prise en charge Unicode.

22

Cela vous dira si vous avez tout espaces blancs:

Soit en boucle:

for (char c : s.toCharArray()) {
    if (Character.isWhitespace(c)) {
       return true;
    }
}

ou

s.matches(".*\\s+.*")

Et StringUtils.isBlank(s) vous dira s’il existe uniquement espaces blancs.

19
Bozho

Utilisez Apache Commons StringUtils :

StringUtils.containsWhitespace(str)
8
br2000

Utiliser ce code, était la meilleure solution pour moi.

public static boolean containsWhiteSpace(String line){
    boolean space= false; 
    if(line != null){


        for(int i = 0; i < line.length(); i++){

            if(line.charAt(i) == ' '){
            space= true;
            }

        }
    }
    return space;
}
2
Gilberto

Vous pouvez utiliser Regex pour déterminer s’il existe un caractère d’espace. \s.

Plus d'infos sur regex ici .

2
123 456 789 0
public static void main(String[] args) {
    System.out.println("test Word".contains(" "));
}
2
hanumant

Vous pouvez utiliser chatAt () pour rechercher des espaces dans string.

 public class Test {
  public static void main(String args[]) {
   String fav="Hi Testing  12 3";
   int counter=0;
   for( int i=0; i<fav.length(); i++ ) {
    if(fav.charAt(i) == ' ' ) {
     counter++;
      }
     }
    System.out.println("Number of spaces "+ counter);
    //This will print Number of spaces 4
   }
  }
0
Ahmed Tareque

Vous pouvez essentiellement faire cela

if(s.charAt(i)==32){
   return true;
}

Vous devez écrire une méthode booléenne. Le caractère blanc est 32.

0
Enes Karanfil
String str = "Test Word";
            if(str.indexOf(' ') != -1){
                return true;
            } else{
                return false;
            }
0
bobos_worm29A

Utilisez org.Apache.commons.lang.StringUtils.

  1. pour rechercher des espaces 

boolean withWhiteSpace = StringUtils.contains ("mon nom", "");

  1. Pour supprimer tous les espaces d'une chaîne 

StringUtils.deleteWhitespace (null) = null StringUtils.deleteWhitespace ("") = "" StringUtils.deleteWhitespace ("abc") = "abc" StringUtils.deleteWhitespace ("ab c") = "abc"

0
import Java.util.Scanner;
public class camelCase {

public static void main(String[] args)
{
    Scanner user_input=new Scanner(System.in);
    String Line1;
    Line1 = user_input.nextLine();
    int j=1;
    //Now Read each Word from the Line and convert it to Camel Case

    String result = "", result1 = "";
    for (int i = 0; i < Line1.length(); i++) {
        String next = Line1.substring(i, i + 1);
        System.out.println(next + "  i Value:" + i + "  j Value:" + j);
        if (i == 0 | j == 1 )
        {
            result += next.toUpperCase();
        } else {
            result += next.toLowerCase();
        }

        if (Character.isWhitespace(Line1.charAt(i)) == true)
        {
            j=1;
        }
        else
        {
            j=0;
        }
    }
    System.out.println(result);
0
Madhav Adireddi

Je vous propose une méthode très simple qui utilise String.contains :

public static boolean containWhitespace(String value) {
    return value.contains(" ");
}

Un petit exemple d'utilisation:

public static void main(String[] args) {
    System.out.println(containWhitespace("i love potatoes"));
    System.out.println(containWhitespace("butihatewhitespaces"));
}

Sortie:

true
false
0
Valentin Michalak