В своей работе часто приходится использовать компоненты 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; } }
Комментариев нет:
Отправить комментарий