Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
Мдфв1234
2 / 2 / 0
Регистрация: 05.12.2013
Сообщений: 217
Завершенные тесты: 1
1

Как вставить пробел рядом с заглавной буквой?

19.06.2018, 14:43. Просмотров 691. Ответов 3
Метки нет (Все метки)

Привет всем, есть у меня задачка ,вот нужно строку вида hdgfjhbsBhjfdjdk, разделить пробелом так чтобы получилось
hdgfjhbs Bhjfdjdk.
Попробовал я регулярное выражение.
Вот такой метод.
C#
1
2
3
4
5
6
7
8
9
10
  public static string BreakCamelCase(string str)
        {
 
          string intput = str;
          string[] result = Regex.Split(intput,@"[A-Z]").ToArray();
 
 
          string a=String.Join(" ",result);
            return a;
        }

Проблема в том, что пробел появляется, только заглавные буквы пропадают.
Вопрос, а можно ли как то так построить регулярное выражение, чтобы при сплите, буква заглавная оставалась.
Заранее спасибо за ответ
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.06.2018, 14:43
Ответы с готовыми решениями:

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

Выписать из текста слова с более чем одной заглавной буквой
Требуется выписать из текстового файла в форму слова с несколькими заглавными...

Вставить символ перед английским словом или буквой
Есть исходная строка в которой присутствуют английские и русские слова или...

Вставить в строку пробел после каждого символа
Дана строка. Вставить после каждого символа пробел.

Вставить пробел через определенное количество символов
Возникла не необходимость в создании программы в которую загружается TXT файл...

3
Zodt
156 / 79 / 69
Регистрация: 10.05.2014
Сообщений: 420
19.06.2018, 14:52 2
Лучший ответ Сообщение было отмечено Мдфв1234 как решение

Решение

C#
1
2
3
string a = "hdgfjhbsBhjfdjdk";
var res = a.ToCharArray().Select(x => char.IsUpper(x) ? " " + x : ""+x).ToList();
Console.WriteLine(string.Join("", res));
1
Мдфв1234
2 / 2 / 0
Регистрация: 05.12.2013
Сообщений: 217
Завершенные тесты: 1
19.06.2018, 14:53  [ТС] 3
Спасибо за ответ, всетаки Linq сила
0
Diamante
1319 / 1035 / 654
Регистрация: 14.08.2016
Сообщений: 3,608
Завершенные тесты: 1
19.06.2018, 15:36 4
C#
1
2
3
            var str = "hdgfjhbsBhjfdjdk";
            var result = Regex.Replace(str, @"([A-Z])", " $1");
            Console.WriteLine(result);
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.06.2018, 15:36

Ввести строку символов и вставить пробел после каждого знака препинания
А как это будет написано на с#? "Ввести строку символов и вставить пробел...

В тексте вставить между словами вместо одного пробела запятую и пробел
В тексте вставить между словами вместо одного пробела запятую и пробел.

Используя методы класса StringBuilder вставить между каждой буквой фамилии и имени знак " – "
Ввести фамилию, имя и отчество как строку символов. Используя методы класса...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru