У меня есть 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: Получить строку.
- Шаг 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) <
// Java-программа для преобразования строки
// в массив символов с помощью toCharArray ()
Ниже приведена простая программа для преобразования (конвертации) строки в массив байтов и наоборот — с массива байтов в строку.
Метод класса String getBytes() возвращает байтовый массив из строки. Строковый конструктор можно использовать для создания строки из массива байтов.