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

Иногда бывает удобно иметь данные о символов в строки и позиции этих символов, например при анализе строки. Sometimes it is useful to have data about the characters in your string and the positions of those characters within your string, such as when you are parsing a string. В этом примере показано, как можно получить массив символов в строку путем вызова строки ToCharArray метод. This example shows how you can get an array of the characters in a string by calling the string’s ToCharArray method.

Пример Example

В этом примере показано, как разбить строку в Char массива и как разбить строку на String массив знаков Юникода. This example demonstrates how to split a string into a Char array, and how to split a string into a String array of its Unicode text characters. Это различие связано что Юникода может состоять из двух или более Char символов (например, суррогатная пара или несамостоятельных последовательность символов). The reason for this distinction is that Unicode text characters can be composed of two or more Char characters (such as a surrogate pair or a combining character sequence). Дополнительные сведения см. в разделе TextElementEnumerator и The Unicode Standard. For more information, see TextElementEnumerator and The Unicode Standard.

Пример Example

Сложнее для разбиения строки на знаков Юникода, но это необходимо, если вам нужна информация об визуальное представление строки. It is more difficult to split a string into its Unicode text characters, but this is necessary if you need information about the visual representation of a string. В этом примере используется SubstringByTextElements метод для получения сведений о текстовых символов Юникода, составляющих строку. This example uses the SubstringByTextElements method to get information about the Unicode text characters that make up a string.

Читайте также:  Вставка картинки в автокад

Новичок в C ++ и так вот часть проекта, над которым я работаю, взяв строку и напечатав наиболее часто используемое число вместе с тем, сколько раз оно использовалось. я думал, что это правильно, но по какой-то причине мой массив символов не будет прочитан. какие-либо советы или предложения о том, как это исправить?

Решение

Если вы не рассматриваете пробел как букву.

Тогда более эффективный способ мог быть

Другие решения

использование строка :: c_str () .
Он преобразует строку в массив символов.

У вас есть несколько ошибок в вашем коде.

Во-первых, массив символов letters полностью не используется. Вы должны игнорировать это и перебирать строку ss вместо этого, как я думаю, ты намеревался сделать.

Это изменит ваш второй цикл для ++array[letters[i]]; в ++array[ss[i]]; ,

Во-вторых, ваш последний цикл for содержит ошибки. Вы используете i в качестве индекса для поиска частоты в массиве, тогда как вместо этого вам нужно использовать значение символа ascii (ss [i]). Вот исправленная версия с комментариями:

После внесения вышеуказанных изменений вы получите следующий вывод при запуске вашей строки:

The Codeby

ООО Кодебай

Преобразование строки в массив

В этой статье хочу показать несколько простых способов, с помощью которых можно преобразовать строку в массив.

Так как любая строка в языке c# представляет собой набор символов, то для того, чтобы из строки получить массив нужно всего лишь воспользоваться обычным циклом for, например:

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

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock detector