How can I check to see if a String contains a whitespace character, an empty space or ” “. If possible, please provide a Java example.
For example: String = "test word";
srujzs
3403 silver badges14 bronze badges
asked Nov 1, 2010 at 9:38
2
For checking if a string contains whitespace use a Matcher
and call its find method.
Pattern pattern = Pattern.compile("\s");
Matcher matcher = pattern.matcher(s);
boolean found = matcher.find();
If you want to check if it only consists of whitespace then you can use String.matches
:
boolean isWhitespace = s.matches("^\s*$");
user207421
305k43 gold badges304 silver badges480 bronze badges
answered Nov 1, 2010 at 9:41
Mark ByersMark Byers
805k190 gold badges1575 silver badges1450 bronze badges
1
Check whether a String contains at least one white space character:
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;
}
Reference:
- Character.isWhitespace(char)
Using the Guava library, it’s much simpler:
return CharMatcher.WHITESPACE.matchesAnyOf(testCode);
CharMatcher.WHITESPACE
is also a lot more thorough when it comes to Unicode support.
answered Nov 1, 2010 at 9:51
4
This will tell if you there is any whitespaces:
Either by looping:
for (char c : s.toCharArray()) {
if (Character.isWhitespace(c)) {
return true;
}
}
or
s.matches(".*\s+.*")
And StringUtils.isBlank(s)
will tell you if there are only whitepsaces.
answered Nov 1, 2010 at 9:43
BozhoBozho
586k144 gold badges1057 silver badges1137 bronze badges
3
Use Apache Commons StringUtils:
StringUtils.containsWhitespace(str)
answered Mar 15, 2015 at 21:40
br2000br2000
96911 silver badges12 bronze badges
public static void main(String[] args) {
System.out.println("test word".contains(" "));
}
answered Nov 1, 2010 at 9:41
hanumanthanumant
1,0814 gold badges15 silver badges27 bronze badges
1
You could use Regex to determine if there’s a whitespace character. s
.
More info of regex here.
Sam
7,22215 gold badges46 silver badges65 bronze badges
answered Nov 1, 2010 at 9:41
123 456 789 0123 456 789 0
10.5k4 gold badges42 silver badges70 bronze badges
1
Use this code, was better solution for me.
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;
}
olajide
9731 gold badge13 silver badges26 bronze badges
answered Aug 17, 2012 at 6:21
2
You can use charAt() function to find out spaces in 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
}
}
C-Otto
5,6153 gold badges29 silver badges62 bronze badges
answered Mar 31, 2019 at 6:24
String str = "Test Word";
if(str.indexOf(' ') != -1){
return true;
} else{
return false;
}
answered Oct 28, 2017 at 4:02
1
Maybe I’m late with the most updated answer. You can use one of the following solution:
public static boolean containsWhiteSpace(final String input) {
if (isNotEmpty(input)) {
for (int i = 0; i < input.length(); i++) {
if (Character.isWhitespace(input.charAt(i)) || Character.isSpaceChar(input.charAt(i))) {
return true;
}
}
}
return false;
}
or
public static boolean containsWhiteSpace(final String input) {
return CharMatcher.whitespace().matchesAnyOf(input);
}
answered Apr 27, 2021 at 4:31
logbasexlogbasex
1,5521 gold badge15 silver badges21 bronze badges
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);
answered Feb 16, 2016 at 19:54
Use org.apache.commons.lang.StringUtils.
- to search for whitespaces
boolean withWhiteSpace = StringUtils.contains(“my name”, ” “);
- To delete all whitespaces in a string
StringUtils.deleteWhitespace(null) = null
StringUtils.deleteWhitespace(“”) = “”
StringUtils.deleteWhitespace(“abc”) = “abc”
StringUtils.deleteWhitespace(” ab c “) = “abc”
Khalil M
1,7482 gold badges22 silver badges34 bronze badges
answered Apr 4, 2016 at 14:36
I purpose to you a very simple method who use String.contains
:
public static boolean containWhitespace(String value) {
return value.contains(" ");
}
A little usage example:
public static void main(String[] args) {
System.out.println(containWhitespace("i love potatoes"));
System.out.println(containWhitespace("butihatewhitespaces"));
}
Output:
true
false
answered Jan 8, 2018 at 14:10
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");
}
}
}
zmb
7,4854 gold badges39 silver badges55 bronze badges
answered Mar 16, 2015 at 11:41
2
if(nameAndSurname.indexOf(x) == space)
This line isn’t doing what you think it is doing.
It’s getting a char (character) from the index of x, and comparing it to the value of space. Space is an integer, so you are comparing the character at position x to the integer position of the first space. In this case, the letter at position x is cast into an integer, and then compared to the actual number value of the first space!
To fix the program, replace your entire if statement with this.
if (nameAndSurname.charAt(x) == ' ') //if there is a space
{
count = c-1; //how many characters/letters was there before space
System.out.println(count);
}
Extra:
Since the way you’ve solved this problem is a bit overkill, I’ve posted another solution below which solves it in a way that is easier to read. Also it won’t break if you put in more or less than 1 space.
Scanner scan = new Scanner(System.in);
String nameAndSurname;
System.out.println("Enter your full name please:");
nameAndSurname = scan.nextLine().trim();
int indexOfFirstSpace = nameAndSurname.indexOf(' ');
if (indexOfFirstSpace > -1) {
String firstName = nameAndSurname.substring(0, indexOfFirstSpace);
System.out.println("Your first name is " + firstName.toUpperCase());
System.out.println("It is " + firstName.length() + " characters long.");
}
Чтобы проверить, содержит ли строка пробелы, используйте Matcher
и назовите метод find.
Pattern pattern = Pattern.compile("\s");
Matcher matcher = pattern.matcher(s);
boolean found = matcher.find();
Если вы хотите проверить, состоит ли только из пробелов, вы можете использовать String.matches
:
boolean isWhitespace = s.matches("^\s*$");
Mark Byers
01 нояб. 2010, в 10:11
Поделиться
Проверьте, содержит ли String хотя бы один символ пробела:
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;
}
Справка:
- Character.isWhitespace(char)
Используя библиотеку Guava, она намного проще:
return CharMatcher.WHITESPACE.matchesAnyOf(testCode);
CharMatcher.WHITESPACE
также намного более тщателен, когда дело доходит до поддержки Unicode.
Sean Patrick Floyd
01 нояб. 2010, в 10:11
Поделиться
Это скажет, есть ли у вас пробелы:
Либо путем циклизации:
for (char c : s.toCharArray()) {
if (Character.isWhitespace(c)) {
return true;
}
}
или
s.matches(".*\s+.*")
И StringUtils.isBlank(s)
расскажет вам, есть ли только белые пробелы.
Bozho
01 нояб. 2010, в 11:03
Поделиться
Использование Apache Commons StringUtils:
StringUtils.containsWhitespace(str)
br2000
15 март 2015, в 23:12
Поделиться
Вы можете использовать Regex, чтобы определить, есть ли пробельный символ. s
.
Подробнее о regex здесь.
123 456 789 0
01 нояб. 2010, в 10:30
Поделиться
Используйте этот код, было лучшим решением для моего, когда у вас есть четыре пробела и является экспорт для txt файла.
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;
}
Gilberto
17 авг. 2012, в 07:37
Поделиться
public static void main(String[] args) {
System.out.println("test word".contains(" "));
}
hanumant
01 нояб. 2010, в 10:07
Поделиться
String str = "Test Word";
if(str.indexOf(' ') != -1){
return true;
} else{
return false;
}
bobos_worm29A
28 окт. 2017, в 05:30
Поделиться
Используйте org.apache.commons.lang.StringUtils.
- для поиска пробелов
boolean withWhiteSpace = StringUtils.contains( “мое имя”, “”);
- Чтобы удалить все пробелы в строке
StringUtils.deleteWhitespace(null) = null StringUtils.deleteWhitespace( “) =” “StringUtils.deleteWhitespace(” abc “) =” abc “StringUtils.deleteWhitespace(” ab c “) =” abc”
Rajasekar Kalisamy
04 апр. 2016, в 16:25
Поделиться
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);
Madhav Adireddi
16 фев. 2016, в 20:14
Поделиться
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");
}
}
}
ayushman das
16 март 2015, в 13:17
Поделиться
Ещё вопросы
- 0Как я могу получить URL входного файла?
- 0Несколько соединений TCP против одного соединения
- 1StackService динамическое DTO
- 1Python – удаление пропорции / процента словарных пар
- 0asp: текстовое содержимое ярлыка не отображается как
- 0Выберите двойным щелчком или одной буквой div, который делает фокус ввода
- 1Virtuoso Jena Provider Construct Query Error
- 1Как передать объект новому действию, изменить этот объект и обновить изменения в первом действии? [Дубликат]
- 1конвертировать timedelta чч: мм в секунды
- 1Как я могу определить атрибуты ребер или вершин с помощью Юнга?
- 1Использование свойства text = {binding var} для проверки значения введите в элемент управления textbox
- 1Шифрование сообщений чата, хранящихся в базе данных Firebase
- 1Как разделить макет на 3 вида
- 1После обновления Android Studio 3.3 до 3.4 AAPT2 генерируется ошибка
- 1Независимая ось для каждого участка в pandas boxplot
- 0Классы C ++. Значения внутри класса не обновляются
- 0Какую часть CSS нужно изменить, чтобы это работало, т.е.
- 0У меня есть повторяющееся фоновое квадратное изображение размером 89×89 пикселей, которое я хотел бы изменить на изображение произвольного цвета, когда мышь зависает
- 0Показать разделы на основе значения флажка в jQuery (SharePoint 2010)
- 1Второй цикл не выполняется
- 1Ожидание непустой строки для ошибки параметра ‘providerInvariantName’ в приложении c #, имеющем базу данных доступа
- 0Оператор перегрузки >>
- 0создание пользовательской базы данных в GAE Java
- 0Почему не работает моя функция printLevel?
- 0Объединить 2 ассоциативных массива путем сопоставления значения подмассива?
- 0отладка __do_global_dtors_aux, чтобы найти расположение кода
- 0ngFlow – отправлять CSRF_token через угловой в laravel
- 0Не могу получить подготовленное заявление для печати в php
- 0обработка параллелизма в cron php
- 0Js и Divs, (даже <div> это разница)
- 1использование DLL от внешнего поставщика, которая не является поточно-ориентированной
- 0Как зациклить анимацию в jQuery
- 1Нужно настроить десериализацию Gson, нужен только один элемент JSON, чтобы Object
- 0Как переопределить прослушивание кликов для кнопки в веб-просмотре
- 1Добавить новый столбец по нескольким условиям
- 0мы можем использовать скомпилированный код hiphop на производственном сервере без исходного кода?
- 1Сортировка нескольких массивов по элементам поэлементно
- 0Прикрепление набора входных данных флажка к форме перед отправкой, а затем их скрытие
- 0Qt указывает местоположение для определенных данных приложения
- 0Завершение соединения MySQL
- 1pyshark: доступ к сырым данным udp
- 1ListView Windows 8, можем ли мы изменить поведение Swipe влево / вправо на Swipe Up / Down
- 1Java – Защищенный метод недоступен из подкласса
- 1Симуляция 10 минут в тесте
- 1Как я могу назвать класс из основного класса?
- 0Как перенести введенные значения ng-модели в таблицу в Angular?
- 0Как независимые разработчики ПО скрывают свой объектный код, когда вы можете декомпилировать?
- 0fullcalendar вместе с вложениями в календарь Google
- 0Joomla – Самый эффективный способ заставить внешние ссылки без http: // быть внешними
Как найти пробел в строке?
Как я могу проверить, содержит ли строка символ пробела, пробел или ” “. Если возможно, приведите пример Java.
Например: String = "test word";
2010-11-01 09:38
15
ответов
Решение
Для проверки, содержит ли строка пробел, используйтеMatcher
и назовите его методом find.
Pattern pattern = Pattern.compile("\s");
Matcher matcher = pattern.matcher(s);
boolean found = matcher.find();
Если вы хотите проверить, состоит ли он только из пробелов, вы можете использоватьString.matches
:
boolean isWhitespace = s.matches("^\s*$");
user61974
01 ноя ’10 в 09:41
2010-11-01 09:41
2010-11-01 09:41
Проверьте, содержит ли строка хотя бы один символ пробела:
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;
}
Ссылка:
- Character.isWhitespace (символ)
Используя библиотеку Guava, это намного проще:
return CharMatcher.WHITESPACE.matchesAnyOf(testCode);
CharMatcher.WHITESPACE
также гораздо тщательнее, когда дело доходит до поддержки Unicode.
2010-11-01 09:51
Это скажет, если у вас есть какие-либо пробелы:
Либо по циклу:
for (char c : s.toCharArray()) {
if (Character.isWhitespace(c)) {
return true;
}
}
или же
s.matches(".*\s+.*")
А также StringUtils.isBlank(s)
скажет вам, если есть только белые пробелы.
2010-11-01 09:43
Используйте Apache Commons StringUtils:
StringUtils.containsWhitespace(str)
2015-03-15 21:40
public static void main(String[] args) {
System.out.println("test word".contains(" "));
}
2010-11-01 09:41
Используйте этот код, было лучшим решением для меня.
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;
}
2012-08-17 06:21
Вы можете использовать Regex, чтобы определить, есть ли символ пробела. s
,
Больше информации о регулярных выражениях здесь.
2010-11-01 09:41
Вы можете использовать функцию chatAt(), чтобы найти пробелы в строке.
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
}
}
2019-03-31 06:24
Возможно, я опоздал с самым свежим ответом. Вы можете использовать одно из следующих решений:
public static boolean containsWhiteSpace(final String input) {
if (isNotEmpty(input)) {
for (int i = 0; i < input.length(); i++) {
if (Character.isWhitespace(input.charAt(i)) || Character.isSpaceChar(input.charAt(i))) {
return true;
}
}
}
return false;
}
или же
public static boolean containsWhiteSpace(final String input) {
return CharMatcher.whitespace().matchesAnyOf(input);
}
2021-04-27 07:31
Используйте org.apache.commons.lang.StringUtils.
- искать пробелы
логическое значение withWhiteSpace = StringUtils.contains (“мое имя”, ” “);
- Чтобы удалить все пробелы в строке
StringUtils.deleteWhitespace(null) = null
StringUtils.deleteWhitespace(“”) = “”
StringUtils.deleteWhitespace(“abc”) = “abc”
StringUtils.deleteWhitespace(” ab c “) = “abc”
2016-04-04 14:36
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");
}
}
}
2015-03-16 11:41
Я предназначаю для вас очень простой метод, который использует String.contains
:
public static boolean containWhitespace(String value) {
return value.contains(" ");
}
Небольшой пример использования:
public static void main(String[] args) {
System.out.println(containWhitespace("i love potatoes"));
System.out.println(containWhitespace("butihatewhitespaces"));
}
Выход:
true
false
2018-01-08 14:10
String str = "Test Word";
if(str.indexOf(' ') != -1){
return true;
} else{
return false;
}
2017-10-28 04:02
Вы можете в основном сделать это
if(s.charAt(i)==32){
return true;
}
Вы должны написать логический метод. Символ пробела равен 32.
2018-01-08 15:22
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);
2016-02-16 19:54
vladimir_Ronny 1 / 1 / 1 Регистрация: 13.06.2015 Сообщений: 78 |
||||
1 |
||||
Поиск пробелов в строке07.07.2015, 10:18. Показов 13207. Ответов 7 Метки нет (Все метки)
Добрый день! Помогите, пожалуйста, исправить код. Есть задача: Ввести предложение с клавиатуры, разобрать его на отдельные Я написал программу, но она выдает ошибки в строках №18 и №20 (там, где речь идет про s[i]).
Помогите, пожалуйста, разобраться. Заранее благодарю!
0 |
Programming Эксперт 94731 / 64177 / 26122 Регистрация: 12.04.2006 Сообщений: 116,782 |
07.07.2015, 10:18 |
7 |
3 / 3 / 2 Регистрация: 30.09.2014 Сообщений: 50 |
|
07.07.2015, 10:29 |
2 |
vladimir_Ronny, вы пытаетесь обратиться к строке s как к массиву, а она таковым не является, отсюда и ошибка.
0 |
1 / 1 / 1 Регистрация: 13.06.2015 Сообщений: 78 |
|
07.07.2015, 10:42 [ТС] |
3 |
вы пытаетесь обратиться к строке s как к массиву, а она таковым не является, отсюда и ошибка. Не могли бы Вы написать, как нужно обращаться к строке?
0 |
spider1581 3 / 3 / 2 Регистрация: 30.09.2014 Сообщений: 50 |
||||
07.07.2015, 13:25 |
4 |
|||
vladimir_Ronny, здесь можно преобразовать строку в массив символов char и работать уже с ним, а можно просто использовать методы работы со строками:
0 |
Pablito 2882 / 2294 / 769 Регистрация: 12.05.2014 Сообщений: 7,978 |
||||
07.07.2015, 13:35 |
5 |
|||
Сообщение было отмечено vladimir_Ronny как решение Решение
1 |
spider1581 3 / 3 / 2 Регистрация: 30.09.2014 Сообщений: 50 |
||||
07.07.2015, 13:57 |
6 |
|||
Так даже лучше, только нужно добавить проверку в цикле, на случай если между словами будет не один пробел. В противном случае будут выводится и пустые строки.
1 |
Pablito |
07.07.2015, 14:01
|
Не по теме: точно, я ошибся с регуляркой, там вообще лучше написать s.split(“\s+”);
0 |
mocivan 95 / 95 / 50 Регистрация: 07.07.2015 Сообщений: 208 |
||||
07.07.2015, 21:47 |
8 |
|||
0 |