Снипет для замены символов в тексте по таблице замен и чисткой кода

Mitnik

Client
Регистрация
22.12.2014
Сообщения
118
Благодарностей
6
Баллы
18
Здравствуйте!

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

Помогите, плиз, найти.
Можно за денежку.
Главное, чтобы чистились любые тексты.
 

Nick

Client
Регистрация
22.07.2014
Сообщения
1 963
Благодарностей
797
Баллы
113
а что в сниппет будете кидать - одну текстовую переменную, список, ... ? выгоднее кидать сразу большой объём, чтобы не дёргать тыщу раз этот бедный сниппет, пока в нём дырка не протрётся
 

Mitnik

Client
Регистрация
22.12.2014
Сообщения
118
Благодарностей
6
Баллы
18
Вообще, предполагал кидать переменные и списки, но, можно и всю итоговую таблицу с результатами парсинга.
Если получится, конечно, с таблицей.
 

lokiys

Moderator
Регистрация
01.02.2012
Сообщения
4 771
Благодарностей
1 184
Баллы
113

Nick

Client
Регистрация
22.07.2014
Сообщения
1 963
Благодарностей
797
Баллы
113
можно за основу взять вот этот код:
Код:
// берем регулярное выражение для парсинга из переменной
var parserRegexPattern = project.Variables["tableSearchRegex"].Value;
var parserRegex = new System.Text.RegularExpressions.Regex(parserRegexPattern);
// получаем таблицу, в которой будем искать
var sourceTable = project.Tables["SourceTable"];
// получаем таблицу, в которую будем класть
var destTable = project.Tables["OutputTable"];
// ищем в каждой строчке в таблице
lock(SyncObjects.TableSyncer)
{
    for(int i=0; i < sourceTable.RowCount; i++)
    {
        // читаем строку из таблицы (это будет массив ячеек)
        var cells = sourceTable.GetRow(i).ToArray();
        // проверяем вторую ячейку регулярным выражением, если есть совпадение кладем результат во вторую таблицу
        if (parserRegex.IsMatch(cells[1]))
            destTable.AddRow(cells);
    }
}
можно вместо регулярки вызывать просто цепочку String.Replace(); и по очереди заменять ненужные символы на пустоту.
 

Mitnik

Client
Регистрация
22.12.2014
Сообщения
118
Благодарностей
6
Баллы
18
Спасибо, попробую разобраться.
 

Nick

Client
Регистрация
22.07.2014
Сообщения
1 963
Благодарностей
797
Баллы
113
Ну и можно с единственной таблицей работать, то есть записывать в ту же ячейку, из которой считывал.
Правда, это немного рискованно - в случае ошибки/глюка можно запороть строчку или всю таблицу.
 

Konrod_m

Client
Регистрация
18.09.2014
Сообщения
1 673
Благодарностей
922
Баллы
113

doc

Client
Регистрация
30.03.2012
Сообщения
8 614
Благодарностей
4 602
Баллы
113

в поле "на что заменить" пробел, если что
 
Последнее редактирование:
  • Спасибо
Реакции: Wide

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