Как преобразовать строку в массив java

У меня есть string=»name»; Я хочу преобразовать в массив строк. Как мне это сделать? Есть ли встроенная функция java? Вручную я могу это сделать, но я ищу встроенную функцию java.

Мне нужен массив, где каждый символ строки будет строкой. например, char ‘ n ‘теперь будет строкой «n», хранящейся в массиве.

15 ответов

чтобы начать вас на вашем назначении, String.split разбивает строки на регулярное выражение, это выражение может быть пустой строкой:

избавление от пустой 1-й записи остается в качестве упражнения для читателя: -)

Примечание: в Java 8, пустой первый элемент больше не включается.

вторая строка выделяет строковый массив длиной 1. Обратите внимание, что вам не нужно указывать длину самостоятельно, например:

вместо этого длина определяется количеством элементов в инициализаторе. Используя

создает массив длиной 3.

предполагая, что вам действительно нужен массив односимвольных строк (а не char[] или Character[] )

1. Использование регулярного выражения:

нулевая ширина отрицательного lookahead предотвращает соответствие шаблона в начале ввода, так что вы не получите ведущую пустую строку.

Я думаю, что в этом просто нет необходимости, так как это не будет проще, чем

конечно, если вы настаиваете, вы можете написать:

[редактирование] Если вы хотите однобуквенные строки, вы можете использовать:

к сожалению, s[0] будет пустым, но после этого последуют буквы n,a,m,e. Если это проблема, вы можете использовать, например, System.arrayCopy, чтобы избавиться от первой записи массива.

в java 8 есть метод, с помощью которого вы можете сделать это: toCharArray ():

это приводит к следующему спектру:

string array = массив символов ?

или у вас есть строка с несколькими словами, каждый из которых должен быть элементом массива ?

String[] array = yourString.split(wordSeparator);

Читайте также:  Indesit idl 40 коды ошибок

преобразовать его в тип Char ?

просто использовать .метод tocharArray () в java

Это должно работать просто отлично в JAVA 8

как уже упоминалось, вы можете легко преобразовать исходную строку «name» в массив символов:

чтобы продолжить этот ход мыслей, вы можете преобразовать массив символов в массив строк:

в этот момент ваш stringArray будет заполнен исходными значениями из вашей исходной строки «name». Например, теперь вызываем

вернет значение » n » (в виде строки) в этот случай.

разделять пустой строкой строку.split () возвращает массив одиночных элементов, содержащий пустую строку. В большинстве случаев вы, вероятно, предпочтете получить пустой массив или null, если вы передали null, что именно то, что вы получаете с org.апаш.палата общин.lang3.StringUtils.split (str).

другой вариант-google guava сплиттер.split () и сплиттер.splitToList () что вернуть итератор и список соответственно. В отличие от версии Apache Splitter будет бросать NPE на null :

Если вам нужен список, а не итератор, используйте сплиттер.splitToList ().

метод String.split будет генерировать пустой 1-й, вы должны удалить его из массива. Это скучно.

вы могли бы использовать string.chars().mapToObj(e -> new String(new char[] )); , хотя это довольно долго и работает только с java 8. Вот еще несколько методов:

string.split(«»); (Has an extra whitespace character at the beginning of the array if used before Java 8) string.split(«|»); string.split(«(?!^)»); Arrays.toString(string.toCharArray()).substring(1, string.length() * 3 + 1).split(«, «);

последний просто излишне долго, это просто для удовольствия!

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

это делает массив слов, разделяя строку на каждое помещение:

Читайте также:  Как обнулить телефон айфон

это создает следующий массив:

протестировано в Java 8

здесь есть преобразование простой строки в строковый массив с помощью метода split.

Для заданной строки задача состоит в том, чтобы преобразовать эту строку в массив символов в Java.

Примеры:

  1. Метод 1: Наивный подход
    • Шаг 1: Получить строку.
    • Шаг 2: Создайте массив символов той же длины, что и строки.
    • Шаг 3: Перейдите через строку, чтобы скопировать символ с i-го индекса строки в i-й индекс массива.
    • Шаг 4: Вернуть или выполнить операцию над массивом символов.

Ниже приведена реализация вышеуказанного подхода:

// Java-программа для преобразования строки
// в массив символов с использованием наивного подхода

public class GFG <

public static void main(String args[])

String str = «GeeksForGeeks» ;

// Создание массива длины строки

char [] ch = new char [str.length()];

// Копировать символ за символом в массив

for ( int i = 0 ; i

// Печать содержимого массива

for ( char c : ch) <

  • Метод 2: Использование метода toCharArray ()
    • Шаг 1: Получить строку.
    • Шаг 2: Создайте массив символов той же длины, что и строки.
    • Шаг 3: Сохраните возвращаемый массив методом toCharArray ().
    • Шаг 4: Возврат или выполнение операции над массивом символов.
    • // Java-программа для преобразования строки
      // в массив символов с помощью toCharArray ()

      Ниже приведена простая программа для преобразования (конвертации) строки в массив байтов и наоборот — с массива байтов в строку.

      Метод класса String getBytes() возвращает байтовый массив из строки. Строковый конструктор можно использовать для создания строки из массива байтов.

  • 9726552