Я хочу разделить строку без использования функции разделения? - PullRequest
2 голосов
/ 30 мая 2010

Я хочу разделить строку без использования split. Кто-нибудь может решить мою проблему, я пытался, но Я не могу найти точную логику.

Ответы [ 14 ]

0 голосов
/ 30 мая 2010

Вы можете сделать это, используя стандартные библиотеки Java.

Скажите, что разделитель : и

String s = "Harry:Potter"
int a = s.find(delimiter);

и затем добавьте

s.substring(start, a)

в новый массив String.

Продолжайте делать это до вашего start < string length

Наверное, должно быть достаточно.

0 голосов
/ 30 мая 2010

Для начала нужно определить функцию, которая вам нужна. В этом случае это, вероятно, будет:

String[] split(String s, String separator)

Тип возвращаемого значения не должен быть массивом. Это также может быть список:

List<String> split(String s, String separator)

Код будет примерно таким:

  1. начало в начале
  2. найти следующее вхождение разделителя
  3. подстрока между концом предыдущего разделителя и началом текущего разделителя добавляется к результату
  4. продолжайте с шага 2, пока не достигнете конца строки

Есть много тонкостей, которые вам необходимо учитывать:

  • Что произойдет, если строка начинается или заканчивается разделителем?
  • Что если несколько разделителей появятся рядом друг с другом?
  • Каким должен быть результат разбиения пустой строки? (1 пустое поле или 0 полей)
0 голосов
/ 30 мая 2010

Вы не можете разделить без использования split (). Единственный другой вариант - получить индексы строк и получить подстроки.

0 голосов
/ 30 мая 2010

Логика такова: пройти всю строку, начиная с первого символа, и всякий раз, когда вы находите пробел, копируйте последнюю часть в новую строку ... не так сложно?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...