Разделение строки на несколько пробелов в java [дубликат]
Возможные Дубликаты:
как разделить строку на пробел
мне нужна помощь при разборе текстового файла. Текстовый файл содержит такие данные, как
This is different type of file.
Can not split it using ' '(white space)
моя проблема в том, что пробелы между словами не похожи. Иногда существует одно пространство, а иногда задается несколько пространств.
мне нужно разделить строку таким образом, чтобы я получал только слова, а не пробелы.
7 ответов
можно использовать Quantifiers
указать количество мест, которые вы хотите разделить на: -
`+` - Represents 1 or more
`*` - Represents 0 or more
`?` - Represents 0 or 1
`{n,m}` - Represents n to m
и \s+
разделить строку на one or more
помещения
String[] words = yourString.split("\s+");
кроме того, если вы хотите указать некоторые конкретные номера, вы можете дать свой диапазон между {}
:
yourString.split("\s{3,6}"); // Split String on 3 to 6 spaces
вы можете использовать regex шаблон
public static void main(String[] args)
{
String s="This is different type of file.";
String s1[]=s.split("[ ]+");
for(int i=0;i<s1.length;i++)
{
System.out.println(s1[i]);
}
}
выход
This
is
different
type
of
file.
можно использовать
replaceAll (string regex, string replacement) метод класса String для замены нескольких пробелов пробелом, а затем вы можете использовать метод split.
Я даю вам другой метод tockenize вашей строки, Если вы не хотите использовать метод split.Вот метод
public static void main(String args[]) throws Exception
{
String str="This is different type of file.Can not split it using ' '(white space)";
StringTokenizer st = new StringTokenizer(str, " ");
while(st.hasMoreElements())
System.out.println(st.nextToken());
}
}