Wie kann ich Leerzeichen in einem String finden?
Frage
Wie kann ich überprüfen, ob ein String ein Leerzeichen enthält, einen leeren Raum oder „“. Wenn möglich, geben Sie bitte ein Java-Beispiel.
Zum Beispiel: String = "test word";
Lösung
Für die Überprüfung, ob eine Zeichenfolge enthält Leerzeichen verwenden, um ein Matcher
und es ist find-Methode aufrufen.
Pattern pattern = Pattern.compile("\\s");
Matcher matcher = pattern.matcher(s);
boolean found = matcher.find();
Wenn Sie überprüfen wollen, ob es besteht nur aus Leerzeichen können Sie a href verwenden <= "https://docs.oracle.com/javase/7/docs/api/java/ lang / String.html # matches (java.lang.String)“rel = "noreferrer"> String.matches
:
boolean isWhitespace = s.matches("^\\s*$");
Andere Tipps
Überprüfen Sie, ob ein String enthält mindestens ein Leerraumzeichen:
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;
}
Hinweis:
Mit der Guava Bibliothek, es ist viel einfacher:
return CharMatcher.WHITESPACE.matchesAnyOf(testCode);
CharMatcher.WHITESPACE
ist auch eine Menge gründlichere, wenn es um die Unicode-Unterstützung kommt.
Dies wird sagen, wenn Sie es jeder Leerzeichen:
Entweder durch Schleifen:
for (char c : s.toCharArray()) {
if (Character.isWhitespace(c)) {
return true;
}
}
oder
s.matches(".*\\s+.*")
Und StringUtils.isBlank(s)
wird Ihnen sagen, wenn es nur whitepsaces.
Verwenden Sie Apache Commons StringUtils :
StringUtils.containsWhitespace(str)
Mit diesem Code, war eine bessere Lösung für mich.
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;
}
public static void main(String[] args) {
System.out.println("test word".contains(" "));
}
Sie könnten Regex verwenden, um festzustellen, ob ein Leerzeichen ist. \s
.
Weitere Informationen von regex hier .
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);
Mit org.apache.commons.lang.StringUtils.
- für Whitespaces suchen
boolean withWhiteSpace = StringUtils.contains ( "mein Name", "„);
- Um alle Leerzeichen in einem String löschen
StringUtils.deleteWhitespace (null) = null StringUtils.deleteWhitespace ( "") = "" StringUtils.deleteWhitespace ( "abc") = "abc" StringUtils.deleteWhitespace ( "ab c") = "abc"
String str = "Test Word";
if(str.indexOf(' ') != -1){
return true;
} else{
return false;
}
ich Zweck Sie eine sehr einfache Methode, die String.contains
:
public static boolean containWhitespace(String value) {
return value.contains(" ");
}
Ein kleines Anwendungsbeispiel:
public static void main(String[] args) {
System.out.println(containWhitespace("i love potatoes"));
System.out.println(containWhitespace("butihatewhitespaces"));
}
Ausgabe:
true
false
Sie können diese im Grunde tun
if(s.charAt(i)==32){
return true;
}
Sie müssen schreiben boolean method.Whitespace char 32 ist.
Sie können mit chatAt () Funktionsräume in Zeichenfolge erfahren.
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
}
}
package com.test;
public class Test {
public static void main(String[] args) {
String str = "TestCode ";
if (str.indexOf(" ") > -1) {
System.out.println("Yes");
} else {
System.out.println("Noo");
}
}
}