Форум   Статьи   Новости   Файлы   Bugtraq   Сниффер   Друзья   О Клубе
  , 14:12   #1
Модератор
 
Локация: Cyberspace
Регистрация: 01.07.2008
Сообщений: 122

Репутация: 75 / 1
Exclamation Регулярные выражения, замена данных в файле по шаблону

Подскажите пожалуйста.
Есть файл, в нем есть строка определенного формата. Ее надо найти и заменить в ней пару символов. Заранее эти символы не известны, известен только формат.

Например файл:
XML highlight
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <connectivity.ExtensionSettings3>
    <extension
      interface="Autodesk.Connectivity.Explorer.Extensibility.IExplorerExtension, Autodesk.Connectivity.Explorer.Extensibility, Version=18.0.0.0, Culture=neutral, PublicKeyToken=aa20f34aedd220e1"
      type="LgtVaultExtensions.CommandExtensions, LgtVaultExtensions">
    </extension>
  </connectivity.ExtensionSettings3>
</configuration>
Надо Version=18.0.0.0 (версия может быть любая 20.0.0.0 или 16.220.0.1 и т.д. ) заменить на
Version=16.0.0.0

в итоге надо получить файл
XML highlight
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <connectivity.ExtensionSettings3>
    <extension
      interface="Autodesk.Connectivity.Explorer.Extensibility.IExplorerExtension, Autodesk.Connectivity.Explorer.Extensibility, Version=16.0.0.0, Culture=neutral, PublicKeyToken=aa20f34aedd220e1"
      type="LgtVaultExtensions.CommandExtensions, LgtVaultExtensions">
    </extension>
  </connectivity.ExtensionSettings3>
</configuration>
И для такой ситуации
C# highlight
using System.Reflection;
using System.Runtime.InteropServices;

[assembly: AssemblyTitle("LgtVaultExtensions")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCopyright("Copyright ©  2015")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]

[assembly: ComVisible(false)]

[assembly: Guid("1eed3dc2-e5d0-4eaa-b8fc-3f6814b3f599")]

[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

[assembly: Autodesk.Connectivity.Extensibility.Framework.ExtensionId("910972D8-380B-4CEA-919B-D20B076CEB5A")]
[assembly: Autodesk.Connectivity.Extensibility.Framework.ApiVersion("6.0")]

[assembly: AssemblyCompany("LGT")]
[assembly: AssemblyProduct("LgtVaultExtensions")]
[assembly: AssemblyDescription("LGT extensions for vault")]
Надо в строке [assembly: Autodesk.Connectivity.Extensibility.Framework.ApiVersion("6.0")] заменить "6.0"(цифры могут быть любые.) на "8.0" чтоб на выходе получилось:


C# highlight
using System.Reflection;
using System.Runtime.InteropServices;

[assembly: AssemblyTitle("LgtVaultExtensions")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCopyright("Copyright ©  2015")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]

[assembly: ComVisible(false)]

[assembly: Guid("1eed3dc2-e5d0-4eaa-b8fc-3f6814b3f599")]

[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

[assembly: Autodesk.Connectivity.Extensibility.Framework.ExtensionId("910972D8-380B-4CEA-919B-D20B076CEB5A")]
[assembly: Autodesk.Connectivity.Extensibility.Framework.ApiVersion("8.0")]

[assembly: AssemblyCompany("LGT")]
[assembly: AssemblyProduct("LgtVaultExtensions")]
[assembly: AssemblyDescription("LGT extensions for vault")]
Соответственно интересна даже не сама реализация а паттерны подмены и как ими делать подобные вещи.

Спасибо.
__________________
Live long and prosper.
Пользователь вне форума    
Наши Спонсоры
 

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
MySql(и не только) в Perl anubis6666 Perl 2 12.04.2010 21:19
BIOS... grom4ik7 Новичкам 0 29.09.2009 09:41



Часовой пояс GMT +2
Powered by vBulletin® 3.x.x Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.

Copyright © 2008 - 2013 «HPC» Реклама на сайте Правила Форума Пользовательское соглашение Работа на сайте
При копировании материалов ставьте ссылку на источник
Все материалы представлены только в ознакомительных целях, администрация за их использование ответственности не несет.