Ява расщепляет струны
Метод сплит () java.lang.string, jdk 1.4 или позже
public String [] split (string regex, int limit)
Пример кода
открытый класс StringsPlit {public static void main (string [] args) {String sourcestr = "1,2,3,4,5"; String [] sourcestrarray = sourcestr.split (","); for (int i = 0; i <sourcestrarray.length; i ++) {System.out.println (sourcestrarray [i]); } // разделить до 3 строк int maxsplit = 3; sourcestrarray = sourcestr.split (",", maxsplit); for (int i = 0; i <sourcestrarray.length; i ++) {System.out.println (sourcestrarray [i]); }}}Результат вывода:
12345123,4,5
Реализация разделения напрямую вызывает метод разделения класса Matchter . При использовании метода string.split для разграничения строк, если разделитель использует некоторые специальные символы, он может не получить ожидаемые результаты. Персонажи с особыми значениями в регулярных выражениях должны быть сбежаны, когда мы их используем. Пример:
открытый класс StringsPlit {public static void main (string [] args) {string value = "192.168.128.33"; // Обратите внимание, что вы должны добавить //, либо не выходите, да, string [] names = value.split ("//"); for (int i = 0; i <names.length; i ++) {System.out.println (names [i]); }}}Резюме расщепленного сепаратора
1. Персонажи "|", "*", "+" Должен быть добавлены с сбежавшими персонажами, а "//" добавляется перед ними.
2. Если это "/", то это должно быть написано как "////".
3. Если в строке есть несколько разделителей, вы можете использовать "|" как дефис.
Например: string str = "java String-split#test", вы можете использовать str.split ("|-|#") для разделения каждой строки. Это делит строку на 3 подстроения.
java.util.tokenizer JDK 1.0 или позже
StringTokenizer
Класс StringTokenizer позволяет приложениям разбить строки на токены. StringTokenizer - это устаревший класс, который сохраняется по причинам совместимости (хотя он не поощряется в новом коде). Рекомендуется, чтобы все те, кто ищет эту функцию, использовал метод разделения строки или пакет java.util.regex.
Пример кода
открытый класс StringsPlit {public static void main (string [] args) {String ip = "192.168.128.33"; StringTokenizer token = new StringTokenizer (ip, "."); while (token.hasmoreElements ()) {System.out.print (token.nexttoken ()+""); }}}Однако для разделения строки «192.168..33» возвращаемый строковый массив имеет только 3 элемента, а пустая строка между двумя разделителями будет проигнорирована. Это должно использоваться с осторожностью.
Тем не менее, string.split (string.split соответствует регулярным выражениям, поэтому он не использует алгоритм соответствия строк KMP), использующие алгоритмы, которые проходят в последовательности, с высокой временной сложностью o (m*n), поэтому с точки зрения производительности, StringTokenizer гораздо лучше. Для приложений, которые часто используют сегментацию строк, такие как обработка данных ETL, производительность использования StringTokenizer может быть значительно улучшена.
Спасибо за чтение, я надеюсь, что это поможет вам. Спасибо за поддержку этого сайта!