Замена текста C#

  • Автор темы Автор темы ftbwork10
  • Дата начала Дата начала

ftbwork10

Client
Регистрация
29.05.2017
Сообщения
451
Реакции
707
Баллы
93
Нужно сделать замену текста с помощью C#, блоками получается очень много блоков и проект виснет. Пробовал сделать так, но ничего не получается.

Вот пример:

// Текст для обработки
string text = project.ExecuteMacro("11 jkkjkj 22 kjkjdoop 33 gpoogifp 44");
// Обработка текста "Замена"
project.Variables["ffff"].Value = Macros.TextProcessing.Replace(text, "11", "успешно", "Text", "All");
project.Variables["ffff"].Value = Macros.TextProcessing.Replace(text, "22", "успешно2", "Text", "All");
project.Variables["ffff"].Value = Macros.TextProcessing.Replace(text, "33", "успешно3", "Text", "All");
project.Variables["ffff"].Value = Macros.TextProcessing.Replace(text, "44", "успешно4", "Text", "All");

Но заменяет только одно условие. Как правильно сделать это?
 
PHP:
Развернуть Свернуть Копировать
// Текст для обработки
string text = project.ExecuteMacro("11 jkkjkj 22 kjkjdoop 33 gpoogifp 44");
// Обработка текста "Замена"
text = Macros.TextProcessing.Replace(text, "11", "успешно", "Text", "All");
text = Macros.TextProcessing.Replace(text, "22", "успешно2", "Text", "All");
text = Macros.TextProcessing.Replace(text, "33", "успешно3", "Text", "All");
text = Macros.TextProcessing.Replace(text, "44", "успешно4", "Text", "All");
project.Variables["ffff"].Value = text;
 
  • Оценить
Реакции: ftbwork10
C#:
Развернуть Свернуть Копировать
string text = project.Variables["text"].Value; // переменная с текстом
text = text
    .Replace("11", "успешно")
    .Replace("22", "успешно2")
    .Replace("33", "успешно3")
    .Replace("44", "успешно4");
return text;
 
C#:
Развернуть Свернуть Копировать
string text = project.Variables["text"].Value; // переменная с текстом
text = text
    .Replace("11", "успешно")
    .Replace("22", "успешно2")
    .Replace("33", "успешно3")
    .Replace("44", "успешно4");
return text;

А если у меня в тексте ковычки присутствуют?
.Replace("Слово "Правильно" написано правильно", "успех")
 
А если у меня в тексте ковычки присутствуют?
.Replace("Слово \"Правильно\" написано правильно", "успех")
или
.Replace(@"Слово ""Правильно"" написано правильно", "успех")
 
  • Оценить
Реакции: kagorec
В таком случае кавычки нужно экранировать

.Replace("Слово \"Правильно\" написано правильно", "успех")
 
Я экранировал слешем, получил ошибку
Компиляция кода Ошибка в действии "CS1009" "Нераспознанная управляющая последовательность". [Строка: 2; Cтолбец: 417]
Да и добавив @ тоже выдает ошибку.
 
Я экранировал слешем, получил ошибку
Компиляция кода Ошибка в действии "CS1009" "Нераспознанная управляющая последовательность". [Строка: 2; Cтолбец: 417]
Да и добавив @ тоже выдает ошибку.
Может у тебя в тексте ещё обратные слэши встречаются? Их тоже нужно экранировать таким же обратным слэшем.
Или ошибка в другом кубике C#
 
Как через Macros.TextProcessing.Replace(text, """, "\"", "Text", "All") выполнить замену одинарной кавычки - " на \" ?
 
Последнее редактирование:
Как через Macros.TextProcessing.Replace(text, """, "\"", "Text", "All") выполнить замену одинарной кавычки - " на \" ?
Пока сделал через преобразование в UrlEncode и замену. Может есть более умные варианты)
 
Последнее редактирование:
Пока сделал через преобразование в UrlEncode и замену. Может есть более умные варианты)
не понятно, что ты хочешь. Ты пишешь одинарную кавычку, а у тебя там и двойная
 
Я хочу заменить одинарные кавычки в тексте на одинарную с обратным слэшем.
 
Спасибо, получилось!
 
C#:
Развернуть Свернуть Копировать
string text = project.Variables["text"].Value; // переменная с текстом
text = text
    .Replace("11", "успешно")
    .Replace("22", "успешно2")
    .Replace("33", "успешно3")
    .Replace("44", "успешно4");
return text;

А если искать не текст, а Regex, то как?
 
C#:
Развернуть Свернуть Копировать
string text = project.Variables["text"].Value; // переменная с текстом
text = text
    .Replace("11", "успешно")
    .Replace("22", "успешно2")
    .Replace("33", "успешно3")
    .Replace("44", "успешно4");
return text;

Как сделать замену символов которые надо экранировать? Например ( на \(
 
Не знаю как правильно сформулировать вопрос. Те кто кодит в php поймут меня, как такое реализовать в зенке ?
PHP:
Развернуть Свернуть Копировать
$text = preg_replace('/<span class="post-font-serif2">([^<]*?)<(?=\/)\/span>/', "[font=\"serif\"]$1[/font]", $text);
 
Не знаю как правильно сформулировать вопрос. Те кто кодит в php поймут меня, как такое реализовать в зенке ?
PHP:
Развернуть Свернуть Копировать
$text = preg_replace('/<span class="post-font-serif2">([^<]*?)<(?=\/)\/span>/', "[font=\"serif\"]$1[/font]", $text);
Все нашел ) через стандартный экшн
обработка текста->замена->regex
 
Всем привет.
Прошу подсказать, как с помощью C# заменить ENTER на пустоту? Спасибо.
Код который я привел ниже не работает.

C#:
Развернуть Свернуть Копировать
string text1 = project.Variables["name"].Value; // переменная с текстом
text1 = text1
    .Replace({ENTER}, "");
project.Variables["name"].Value = text1;
 
Спасибо.
А если в конце текста есть несколько пробелов которые нужно убрать, есть ли способ быстро очистить текст от лишних пробелов?
Спасибо.
 
Спасибо.
А если в конце текста есть несколько пробелов которые нужно убрать, есть ли способ быстро очистить текст от лишних пробелов?
Спасибо.
C#:
Развернуть Свернуть Копировать
string text1 = project.Variables["name"].Value;
project.Variables["name"].Value = text1.Trim();
 
  • Оценить
Реакции: trubiser
Есть больше 50 переменных в них &quot; такие каракули как можно во всех переменных сразу удалить это все или заменить
 
Есть больше 50 переменных в них &quot; такие каракули как можно во всех переменных сразу удалить это все или заменить
C#:
Развернуть Свернуть Копировать
foreach (string key in project.Variables.Keys)
        project.Variables[key].Value = project.Variables[key].Value.Replace("&quot;", "");
 
А можно как то массово заменить текст не в переменной а в коде C# если есть возможность во всех проектах будет отлично
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)