2013-12-13 4 views
3
   String test="This is a simple text" 

Можно ли определить пробелы и написать следующую строку, просмотрев это пространство? Я имею в виду, чтобы иметь выход консоли, как это:Как обнаружить пустые пространства в строке?

     This is a simple text 
         ++++ ++ + ++++++ ++++ 
+1

Для каждого символа, если это не пробел, напишите '+', иначе напишите пробел. –

+1

Посмотрите на ['Character.isWhitespace'] (http://docs.oracle.com/javase/7/docs/api/java/lang/Character.html#isWhitespace (char)). – rgettman

ответ

1
public class StringPlus { 

    public static void main(String[] args) { 
     String test="This is a simple text"; 
     for(char c: test.toCharArray()){ 
      System.out.print((c == ' ') ? " ":"+"); 
     } 
    } 
} 
1

Вы можете использовать:

String orig = "This is a simple text"; 
String newString = orig.replaceAll("[^\\s]", "+"); 

Он использует регулярное выражение для замены всех символов, которые не являются бело-пространство с знаком плюс.

+0

Собственно, все символы, которые не являются пробелами (вкладки, пробелы, символы новой строки). В этом случае это может сработать, хотя вы можете просто использовать отрицательное пространство. –

1

Итерации через String, при этом каждая новая итерация объединяется с новым String. Если символ в исходном String не равен пробелу, соедините + с новой строкой, в противном случае соедините пространство с новым String.

+1

Это ответ! – Diversity

1

Я думаю, что самый простой подход - это создать цикл и создать его вручную. Другие подходы могут включать использование регулярного выражения (например, если вы знаете набор входных символов) в сочетании с string.replace.

Вот что петля может выглядеть следующим образом:

StringBuilder sb = new StringBuilder(inputString.length); 
for (char c : inputString) { 
    if (Character.isWhiteSpace(c)) { 
    sb.append("*"); 
    } else { 
    sb.append(" "); 
} 
return sb.toString(); 
0

Использование Character.isWhitespace(ch), например,

public static void main(final String[] args) { 
    String test = "This is a simple text"; 
    System.out.println(test); 
    for (char ch : test.toCharArray()) { 
     System.out.print(Character.isWhitespace(ch) ? " " : "+"); 
    } 
} 
Смежные вопросы