Заменить заглавную букву обычной, если она не в начале слова С#
Создать строку с несколькими предложениями. В предложениях должны быть фрагменты текста, которые нужно заменить. При запуске программы выбирается шрифт из диалога fontDialog. Задать весь текст в текстовой компоненте с выбранным шрифтом. Далее программа должна найти и отметить другим заданным шрифтом участки текста, в котором требуется внести изменения.
Помогите прописать алгоритм в методе SelectWords
Font userFont, selectionFont;
public Form1()
{
InitializeComponent();
rtb.Text = "ПОдобные идеи пЕриодически возникают в Дизайне бытовой техники.";
FontDialog fontDialog = new FontDialog();
if (fontDialog.ShowDialog(this) == DialogResult.OK)
{
userFont = fontDialog.Font;
rtb.Font = userFont;
if (fontDialog.ShowDialog() == DialogResult.OK)
{
selectionFont = fontDialog.Font;
SelectWords();
}
}
}
void SelectWords()
{
string[] words = rtb.Text.Split(' ');
for (int i = 0; i < words.Length; i++)
{
///??
}
Ответы (1 шт):
Автор решения: Andrew_STOP_RU_AGRESSION_IN_UA
→ Ссылка
код не проверялся и может иметь мелкие синтаксические ошибки:
var result = "ПОдобные идеи пЕриодически возникают в Дизайне бытовой техники."
.Split(' ')
.Select(a => $"{a.Substring(0, 1)}{a.Substring(1).ToLower()}")
.Join(" ")
вариант без LINQ:
var words = someString.Split(' ');
var wordsFixed = List<String>();
foreach word in words {
wordsFixed.Append( $"{word.Substring(0, 1)}{word.Substring(1).ToLower()}" );
}
var result = String.Join(wordsFixed, " ");
написал так же в рамках псевдокода т.к. точного синтаксиса я не помню)