В своей работе часто приходится использовать компоненты Aspose. Это набор библиотек, прежде всего предназначенных для работы с файлами. Они позволяют легко работать с такими форматами, как doc, docx, rtf, pdf, xls, xlsx, ppt, pptx и многие другие.
Недавно возникла задача по условной замене строки в rtf-файле. Т.е. если искомая по маске строка имеет один вид, то заменяет на одну строку, если другой вид - то на другую. Делается это следующим образом:
Недавно возникла задача по условной замене строки в rtf-файле. Т.е. если искомая по маске строка имеет один вид, то заменяет на одну строку, если другой вид - то на другую. Делается это следующим образом:
Document doc = new Document(someFilenameOrStream); doc.Range.Replace(new Regex(someRegexString), new ReplaceEvaluator(), false);Здесь осуществляется поиск по регулярному выражению someRegexString. Каждый раз, когда программа находит строку в файле, удовлетворяющую условию, срабатывает обработчик ReplaceEvaluator:
public class ReplaceEvaluator : IReplacingCallback
{
public ReplaceEvaluator()
{
// При необходимости можно передавать в конструктор параметры
}
ReplaceAction IReplacingCallback.Replacing(ReplacingArgs e)
{
string match = e.Match.ToString();
case (match)
{
// Логика обработки
}
return ReplaceAction.Replace;
}
}
Комментариев нет:
Отправить комментарий