У меня есть объект, который string = "name";
я хочу преобразовать в массив строк. Как мне это сделать? Есть ли встроенная функция Java? Вручную я могу это сделать, но я ищу встроенную функцию java.
Мне нужен массив, в котором каждый символ строки будет строкой. как char 'n' теперь будет строка "n", хранящаяся в массиве.
String[] ary = new String[] { "name" };
, какая операция вам нужна? например, разделение на символы?Ответы:
Чтобы начать выполнение задания,
String.split
разбивает строки на регулярное выражение, и это выражение может быть пустой строкой:Дает массив:
Избавление от пустой 1-й записи оставим читателю в качестве упражнения :-)
Примечание. В Java 8 пустой первый элемент больше не включается.
источник
Вторая строка выделяет массив String длиной 1. Обратите внимание, что вам не нужно указывать длину самостоятельно, например:
вместо этого длина определяется количеством элементов в инициализаторе. С помощью
создает массив длиной 3.
источник
Предполагая, что вам действительно нужен массив односимвольных строк (не
char[]
илиCharacter[]
)1. Использование регулярного выражения:
Отрицательный просмотр вперед с нулевой шириной предотвращает сопоставление с образцом в начале ввода, поэтому вы не получите начальную пустую строку.
2. Использование Guava :
источник
Думаю, в этом просто нет необходимости, проще, чем
Конечно, если вы настаиваете, вы можете написать:
[Edit] Если вам нужны однобуквенные строки, вы можете использовать:
К сожалению, s [0] будет пустым, но после этого будут следовать буквы n, a, m, e. Если это проблема, вы можете использовать, например, System.arrayCopy, чтобы избавиться от первой записи массива.
источник
источник
В java 8 есть метод, с помощью которого вы можете сделать это: toCharArray ():
Это приводит к следующему массиву:
источник
String.charAt(0)
односимвольным строкам без необходимости! ;)Строковый массив = массив символов?
Или у вас есть строка из нескольких слов, каждое из которых должно быть элементом массива?
String[] array = yourString.split(wordSeparator);
источник
Просто используйте
.toCharArray()
метод в Java:Это должно нормально работать в Java 8.
источник
Преобразовать в тип
Char
?http://www.javadb.com/convert-string-to-character-array
источник
char[]
=)Вы можете использовать
string.chars().mapToObj(e -> new String(new char[] {e}));
, хотя это довольно долго и работает только с 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(", ");
Последний просто излишне длинный, это просто для развлечения!
источник
Дополнительный метод:
Как уже упоминалось, вы можете довольно легко преобразовать исходное "имя" String в массив символов:
Чтобы продолжить этот ход мыслей, вы можете затем преобразовать массив char в массив String:
На этом этапе ваш stringArray будет заполнен исходными значениями из исходной строки «name». Например, сейчас звонит
В этом случае вернет значение «n» (как String).
источник
Разделение пустой строки с помощью String.split () возвращает массив с одним элементом, содержащий пустую строку . В большинстве случаев вы, вероятно, предпочтете получить пустой массив или null, если вы передали null, что именно то, что вы получаете с org.apache.commons.lang3.StringUtils.split (str) .
Другой вариант - это google guava Splitter.split () и Splitter.splitToList (), которые возвращают итератор и список соответственно. В отличие от версии apache, Splitter будет генерировать NPE
null
:Если вам нужен список, а не итератор, используйте Splitter.splitToList () .
источник
Метод
String.split
сгенерирует пустой 1st, вам нужно удалить его из массива. Это скучно.источник
Основываясь на названии этого вопроса, я пришел сюда, чтобы преобразовать String в массив подстрок, разделенных некоторым разделителем. Я добавлю этот ответ здесь для тех, у кого может быть такой же вопрос.
Это создает массив слов, разделяя строку по каждому пробелу:
Это создает следующий массив:
Источник
Протестировано на Java 8
источник
вот преобразовать простую строку в массив строк с помощью метода разделения.
Вывод
источник