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";
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*$");
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.
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.
Utilisez Apache Commons StringUtils :
StringUtils.containsWhitespace(str)
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;
}
Vous pouvez utiliser Regex pour déterminer s’il existe un caractère d’espace. \s
.
Plus d'infos sur regex ici .
public static void main(String[] args) {
System.out.println("test Word".contains(" "));
}
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
}
}
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.
String str = "Test Word";
if(str.indexOf(' ') != -1){
return true;
} else{
return false;
}
Utilisez org.Apache.commons.lang.StringUtils.
boolean withWhiteSpace = StringUtils.contains ("mon nom", "");
StringUtils.deleteWhitespace (null) = null StringUtils.deleteWhitespace ("") = "" StringUtils.deleteWhitespace ("abc") = "abc" StringUtils.deleteWhitespace ("ab c") = "abc"
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);
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