Перевод строки в символьный массив Java
Здравствуйте, возможно ли выполнить подобное? Как перевести символьный массив в строку я знаю, а как наоборот?
- toCharArray()
Пример: «String».toCharArray() — строка в символьный массив.
- valueOf(char data[])
Пример: String.valueOf(charArr) — символьный массив в строку.
- Почему SERVER_ADDR имеет не тот IP 39261 visits
- Как заменить $_SERVER[REMOTE_ADDR] на IP клиента в PHP за двумя Nginx? 29286 visits
- Хочу вывести несколько строк из массива в один div, выводит только много undefined; подскажите, что делать? 13309 visits
- Blob video url download 9478 visits
- Как через css изменить цвет png изображения? 9175 visits
- Php curl запрос через прокси с авторизацией 8723 visits
- Работа с captcha vk api 7616 visits
Защита от SQL инъекций в jdbc java
Часто вижу утверждения, что надо использовать PreparedStatement вместо обычного Statement, чтобы защититься от sql инъекцийКак он защищает?
Как перезапустить java программу на linux
У меня есть некий бот для телеграмма, как сделать, что бы он сам себя перезапускал?
Завершение телефонного звонка, программно
У меня телефон Samsung J5 с android 60 подскажите, пошагово, как сбросить входящий телефонный звонок?
400 Bad Request, RESTTEMPLATE
Использую android устройство и сервер на spring mvc + maven Пытаюсь выслать данные + файл на сервер при помощи RestTeamplateС просто данными все красиво вышло.
Преобразование строки в массив java
Для заданной строки задача состоит в том, чтобы преобразовать эту строку в массив символов в Java.
Примеры:
- Метод 1: Наивный подход
- Шаг 1: Получить строку.
- Шаг 2: Создайте массив символов той же длины, что и строки.
- Шаг 3: Перейдите через строку, чтобы скопировать символ с i-го индекса строки в i-й индекс массива.
- Шаг 4: Вернуть или выполнить операцию над массивом символов.
Ниже приведена реализация вышеуказанного подхода:
У меня есть 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);
преобразовать его в тип 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.
В строке содержатся слова с маленьких букв. Нужно заменить первые буквы слов, на большие.
Я решил сделать так:
- Разбить строку на символы.
- Заменить маленькие символы большими.
- Массив символов превратить в строку. char[] b;
Я застрял на 3 шаге. Может кто написать как это сделать? Можно объяснением или блоком кода.
7 ответов 7
Делать можно по-разному, конечно, но в Java есть методы для работы со строками. По-хорошему, нужно делать так:
- Разбить строку по пробелам на слова и записать в массив
- Пройтись по массиву, заменяя первые символы на символы верхнего регистра и складывая в одну строку.
Никаких массивов char использовать не нужно. Вам понадобятся следующие методы String и Character :
- split(String regex) — делит строку на массив по какому-то правилу
- charAt(int index) — возвращает символ по указанному индексу
- toUpperCase(char ch) — переводит в верхний регистр
- substring(int beginIndex) — возвращает подстроку, начиная с указанного индекса
Если в строке есть несколько пробелов и их нужно учитывать при сборке текста обратно, то алгоритм будет такой:
Проходимся по строке:
- Если символ на данной позиции пробел, то запоминаем это событие
Иначе, если символом на предыдущей позиции был пробел по Java (обычный пробел, табуляция и т.д.) либо начало строки, то заменяем его на символ верхнего регистра
Перевод строки в символьный массив Java
Здравствуйте, возможно ли выполнить подобное? Как перевести символьный массив в строку я знаю, а как наоборот?
Методы класса String
Пример: "SomeText".toCharArray(); — строка в символьный массив.
Пример: String.valueOf(charArr); — символьный массив в строку.
Всё ещё ищете ответ? Посмотрите другие вопросы с метками java строки char или задайте свой вопрос.
дизайн сайта / логотип © 2022 Stack Exchange Inc; материалы пользователей предоставляются на условиях лицензии cc by-sa. rev 2022.1.7.41110
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
Преобразование строки в строковый массив в java
У меня есть string=»name»; я хочу преобразовать в массив строк. Как мне это сделать? Есть ли встроенная функция java? Вручную я могу это сделать, но я ищу функцию, встроенную в java.
Я хочу массив, где каждый символ строки будет строкой. как char ‘n’ будет теперь содержать строку n, хранящуюся в массиве.
Ответов: 15
Чтобы начать работу с вашим назначением, String.split разбиение строк на регулярное выражение, это выражение может быть пустой строкой:
Избавление от пустой 1-й записи остается в качестве упражнения для читателя 🙂
Примечание. В Java 8 пустой первый элемент больше не включается.
Вторая строка выделяет массив String длиной 1. Обратите внимание, что вам не нужно указывать длину самостоятельно, например:
вместо этого длина определяется количеством элементов в инициализаторе. С помощью
создает массив длиной 3.
Предполагая, что вам действительно нужен массив односимвольных строк (не a char[] или Character[] )
1. Использование регулярного выражения:
Отрицательная обратная сторона с нулевой шириной предотвращает совпадение шаблонов в начале ввода, поэтому вы не получаете ведущую пустую строку.
Я предполагаю, что это просто не нужно, поскольку оно не будет более простым, чем