2016-11-16 6 views
1

Я пытаюсь заменить определенную часть файла шаблоном, который отключается, когда я вставляю его все в поле replace и нажимаю replace.Notepad ++ replace limit character limit limit

Мой поиск:

\t// MODDED STUFF HERE.*// END MODDED STUFF 

И я пытаюсь заменить его:

\t// MODDED STUFF HERE\r\n\t\r\n\trmCreateTrigger\("MyTrigger"\+1\);\r\n\r\n\trmSwitchToTrigger\(rmTriggerID\("MyTrigger1"\)\);\r\n\tfor\(i=1; <rmGetNumberPlayersOnTeam\(0\)\+1\)\{\r\n\t\tfor\(j=0; <10\)\{\r\n\t\t\t// Titan Shield\r\n\t\t\trmAddTriggerEffect\("Set Tech Status"\);\r\n\t\t\trmSetTriggerEffectParamInt\("PlayerID",i\);\r\n\t\t\trmSetTriggerEffectParamInt\("TechID",452\);\r\n\t\t\trmSetTriggerEffectParamInt\("Status",4\);\r\n\t\t\t\r\n\t\t\t// Relic Eye of Horus\r\n\t\t\trmAddTriggerEffect\("Set Tech Status"\);\r\n\t\t\trmSetTriggerEffectParamInt\("PlayerID",i\);\r\n\t\t\trmSetTriggerEffectParamInt\("TechID",194\);\r\n\t\t\trmSetTriggerEffectParamInt\("Status",4\);\r\n\t\t\}\r\n\t\t\r\n\t\tfor\(j=0; <4\)\{\r\n\t\t\t// Acupuncture\r\n\t\t\trmAddTriggerEffect\("Set Tech Status"\);\r\n\t\t\trmSetTriggerEffectParamInt\("PlayerID",i\);\r\n\t\t\trmSetTriggerEffectParamInt\("TechID",562\);\r\n\t\t\trmSetTriggerEffectParamInt\("Status",4\);\r\n\t\t\r\n\t\t\t// Temple of Healing\r\n\t\t\trmAddTriggerEffect\("Set Tech Status"\);\r\n\t\t\trmSetTriggerEffectParamInt\("PlayerID",i\);\r\n\t\t\trmSetTriggerEffectParamInt\("TechID",341\);\r\n\t\t\trmSetTriggerEffectParamInt\("Status",4\);\r\n\t\t\}\r\n\t\t\r\n\t\tfor\(j=0; <2\)\{\r\n\t\t\t// Thurisaz Rune\r\n\t\t\trmAddTriggerEffect\("Set Tech Status"\);\r\n\t\t\trmSetTriggerEffectParamInt\("PlayerID",i\);\r\n\t\t\trmSetTriggerEffectParamInt\("TechID",328\);\r\n\t\t\trmSetTriggerEffectParamInt\("Status",4\);\r\n\t\t\r\n\t\t\t// Jade Rabbit\r\n\t\t\trmAddTriggerEffect\("Set Tech Status"\);\r\n\t\t\trmSetTriggerEffectParamInt\("PlayerID",i\);\r\n\t\t\trmSetTriggerEffectParamInt\("TechID",566\);\r\n\t\t\trmSetTriggerEffectParamInt\("Status",4\);\r\n\t\t\r\n\t\t\t// Relic Head of Orpheus\r\n\t\t\trmAddTriggerEffect\("Set Tech Status"\);\r\n\t\t\trmSetTriggerEffectParamInt\("PlayerID",i\);\r\n\t\t\trmSetTriggerEffectParamInt\("TechID",196\);\r\n\t\t\trmSetTriggerEffectParamInt\("Status",4\);\r\n\t\t\r\n\t\t\t// Relic Kithara of Apollo\r\n\t\t\trmAddTriggerEffect\("Set Tech Status"\);\r\n\t\t\trmSetTriggerEffectParamInt\("PlayerID",i\);\r\n\t\t\trmSetTriggerEffectParamInt\("TechID",201\);\r\n\t\t\trmSetTriggerEffectParamInt\("Status",4\);\r\n\t\t\t\r\n\t\t\t// Relic Pelt of Argus\r\n\t\t\trmAddTriggerEffect\("Set Tech Status"\);\r\n\t\t\trmSetTriggerEffectParamInt\("PlayerID",i\);\r\n\t\t\trmSetTriggerEffectParamInt\("TechID",369\);\r\n\t\t\trmSetTriggerEffectParamInt\("Status",4\);\r\n\t\t\r\n\t\t\t// Relic Oseberg Wagon\r\n\t\t\trmAddTriggerEffect\("Set Tech Status"\);\r\n\t\t\trmSetTriggerEffectParamInt\("PlayerID",i\);\r\n\t\t\trmSetTriggerEffectParamInt\("TechID",370\);\r\n\t\t\trmSetTriggerEffectParamInt\("Status",4\);\r\n\t\t\}\r\n\t\t\r\n\t\t// Mythic Rejuvenation\r\n\t\trmAddTriggerEffect\("Set Tech Status"\);\r\n\t\trmSetTriggerEffectParamInt\("PlayerID",i\);\r\n\t\trmSetTriggerEffectParamInt\("TechID",432\);\r\n\t\trmSetTriggerEffectParamInt\("Status",4\);\r\n\t\t\r\n\t\t// Heroic Renewal\r\n\t\trmAddTriggerEffect\("Set Tech Status"\);\r\n\t\trmSetTriggerEffectParamInt\("PlayerID",i\);\r\n\t\trmSetTriggerEffectParamInt\("TechID",433\);\r\n\t\trmSetTriggerEffectParamInt\("Status",4\);\r\n\t\t\r\n\t\t// Hammer of the Gods\r\n\t\trmAddTriggerEffect\("Set Tech Status"\);\r\n\t\trmSetTriggerEffectParamInt\("PlayerID",i\);\r\n\t\trmSetTriggerEffectParamInt\("TechID",289\);\r\n\t\trmSetTriggerEffectParamInt\("Status",4\);\r\n\t\t\r\n\t\t// Meteoric Iron Mail\r\n\t\trmAddTriggerEffect\("Set Tech Status"\);\r\n\t\trmSetTriggerEffectParamInt\("PlayerID",i\);\r\n\t\trmSetTriggerEffectParamInt\("TechID",290\);\r\n\t\trmSetTriggerEffectParamInt\("Status",4\);\r\n\t\t\r\n\t\t// Dragonscale Shields\r\n\t\trmAddTriggerEffect\("Set Tech Status"\);\r\n\t\trmSetTriggerEffectParamInt\("PlayerID",i\);\r\n\t\trmSetTriggerEffectParamInt\("TechID",291\);\r\n\t\trmSetTriggerEffectParamInt\("Status",4\);\r\n\t\t\r\n\t\t// Dwarven Mail\r\n\t\trmAddTriggerEffect\("Set Tech Status"\);\r\n\t\trmSetTriggerEffectParamInt\("PlayerID",i\);\r\n\t\trmSetTriggerEffectParamInt\("TechID",153\);\r\n\t\trmSetTriggerEffectParamInt\("Status",4\);\r\n\t\t\r\n\t\t// Dwarven Weapons\r\n\t\trmAddTriggerEffect\("Set Tech Status"\);\r\n\t\trmSetTriggerEffectParamInt\("PlayerID",i\);\r\n\t\trmSetTriggerEffectParamInt\("TechID",155\);\r\n\t\trmSetTriggerEffectParamInt\("Status",4\);\r\n\t\t\r\n\t\t// Relic Fetters of Fenrir\r\n\t\trmAddTriggerEffect\("Set Tech Status"\);\r\n\t\trmSetTriggerEffectParamInt\("PlayerID",i\);\r\n\t\trmSetTriggerEffectParamInt\("TechID",199\);\r\n\t\trmSetTriggerEffectParamInt\("Status",4\);\r\n\t\}\r\n\r\n\trmSetTriggerPriority\(3\);\r\n\trmSetTriggerActive\(true\);\r\n\trmSetTriggerRunImmediately\(true\);\r\n\trmSetTriggerLoop\(false\);\r\n\t\r\n\trmCreateTrigger\("MyTrigger"\+2\);\r\n\r\n\trmSwitchToTrigger\(rmTriggerID\("MyTrigger2"\)\);\r\n\t\r\n\trmAddTriggerCondition\("Timer"\);\r\n\trmSetTriggerConditionParamInt\("Param1",1\);\r\n\t\r\n\tfor\(i=1; <rmGetNumberPlayersOnTeam\(0\)\+1\)\{\r\n\t\trmAddTriggerEffect\("Grant Resources"\);\r\n\t\trmSetTriggerEffectParamInt\("PlayerID",i\);\r\n\t\trmSetTriggerEffectParam\("ResName","Food"\);\r\n\t\trmSetTriggerEffectParamInt\("Amount",2\);\r\n\t\t\r\n\t\trmAddTriggerEffect\("Grant Resources"\);\r\n\t\trmSetTriggerEffectParamInt\("PlayerID",i\);\r\n\t\trmSetTriggerEffectParam\("ResName","Wood"\);\r\n\t\trmSetTriggerEffectParamInt\("Amount",2\);\r\n\t\t\r\n\t\trmAddTriggerEffect\("Grant Resources"\);\r\n\t\trmSetTriggerEffectParamInt\("PlayerID",i\);\r\n\t\trmSetTriggerEffectParam\("ResName","Gold"\);\r\n\t\trmSetTriggerEffectParamInt\("Amount",2\);\r\n\t\}\r\n\t\r\n\trmSetTriggerPriority\(3\);\r\n\trmSetTriggerActive\(true\);\r\n\trmSetTriggerRunImmediately\(false\);\r\n\trmSetTriggerLoop\(true\);\r\n\t\r\n\t// END MODDED STUFF 

Но часть, которая получает отрезаны. Причина, по которой я хочу заменить ее с помощью функции replace, а не копировать и вставлять ее напрямую, заключается в том, что мне нужно сделать то же самое для нескольких файлов (более 30), поэтому было бы гораздо эффективнее сделать это, используя функцию поиска и замены вместо копирования и вставки каждый раз.

Есть ли способ сделать это без частичного замены текста, который будет отключен тем, что я предполагаю, является личным символом? Или, если есть альтернативный способ сделать то, что мне нужно, что не является неприлично сложным, я открыт для предложений.

ответ

0

Использование таких программ, как Notepad ++ и TextWrangler, как вы указали, ограничено количеством символов, которые вы можете вставить в поле replace.

Вам нужно будет использовать языки программирования, такие как Python, PHP и т. Д., Если вы хотите выполнить эту замену.

Например, вы можете сделать это в PHP с помощью этого кода:

<?php 
    $replace_text = $_POST['replace']; 
    $target_text = ' \r\n\t\r\n\trmCreateTrigger\("MyTrigger"\+1\);\r\n\r\n\trmSwitchToTrigger\(rmTriggerID\("MyTrigger1"\)\);\r\n\tfor\(i=1; &lt;rmGetNumberPlayersOnTeam\(0\)\+1\)\{\r\n\t\tfor\(j=0; <10\)\{\r\n\t\t\t// Titan Shield\r\n\t\t\trmAddTriggerEffect\("Set Tech Status"\);\r\n\t\t\trmSetTriggerEffectParamInt\("PlayerID",i\);\r\n\t\t\trmSetTriggerEffectParamInt\("TechID",452\);\r\n\t\t\trmSetTriggerEffectParamInt\("Status",4\);\r\n\t\t\t\r\n\t\t\t// Relic Eye of Horus\r\n\t\t\trmAddTriggerEffect\("Set Tech Status"\);\r\n\t\t\trmSetTriggerEffectParamInt\("PlayerID",i\);\r\n\t\t\trmSetTriggerEffectParamInt\("TechID",194\);\r\n\t\t\trmSetTriggerEffectParamInt\("Status",4\);\r\n\t\t\}\r\n\t\t\r\n\t\tfor\(j=0; <4\)\{\r\n\t\t\t// Acupuncture\r\n\t\t\trmAddTriggerEffect\("Set Tech Status"\);\r\n\t\t\trmSetTriggerEffectParamInt\("PlayerID",i\);\r\n\t\t\trmSetTriggerEffectParamInt\("TechID",562\);\r\n\t\t\trmSetTriggerEffectParamInt\("Status",4\);\r\n\t\t\r\n\t\t\t// Temple of Healing\r\n\t\t\trmAddTriggerEffect\("Set Tech Status"\);\r\n\t\t\trmSetTriggerEffectParamInt\("PlayerID",i\);\r\n\t\t\trmSetTriggerEffectParamInt\("TechID",341\);\r\n\t\t\trmSetTriggerEffectParamInt\("Status",4\);\r\n\t\t\}\r\n\t\t\r\n\t\tfor\(j=0; <2\)\{\r\n\t\t\t// Thurisaz Rune\r\n\t\t\trmAddTriggerEffect\("Set Tech Status"\);\r\n\t\t\trmSetTriggerEffectParamInt\("PlayerID",i\);\r\n\t\t\trmSetTriggerEffectParamInt\("TechID",328\);\r\n\t\t\trmSetTriggerEffectParamInt\("Status",4\);\r\n\t\t\r\n\t\t\t// Jade Rabbit\r\n\t\t\trmAddTriggerEffect\("Set Tech Status"\);\r\n\t\t\trmSetTriggerEffectParamInt\("PlayerID",i\);\r\n\t\t\trmSetTriggerEffectParamInt\("TechID",566\);\r\n\t\t\trmSetTriggerEffectParamInt\("Status",4\);\r\n\t\t\r\n\t\t\t// Relic Head of Orpheus\r\n\t\t\trmAddTriggerEffect\("Set Tech Status"\);\r\n\t\t\trmSetTriggerEffectParamInt\("PlayerID",i\);\r\n\t\t\trmSetTriggerEffectParamInt\("TechID",196\);\r\n\t\t\trmSetTriggerEffectParamInt\("Status",4\);\r\n\t\t\r\n\t\t\t// Relic Kithara of Apollo\r\n\t\t\trmAddTriggerEffect\("Set Tech Status"\);\r\n\t\t\trmSetTriggerEffectParamInt\("PlayerID",i\);\r\n\t\t\trmSetTriggerEffectParamInt\("TechID",201\);\r\n\t\t\trmSetTriggerEffectParamInt\("Status",4\);\r\n\t\t\t\r\n\t\t\t// Relic Pelt of Argus\r\n\t\t\trmAddTriggerEffect\("Set Tech Status"\);\r\n\t\t\trmSetTriggerEffectParamInt\("PlayerID",i\);\r\n\t\t\trmSetTriggerEffectParamInt\("TechID",369\);\r\n\t\t\trmSetTriggerEffectParamInt\("Status",4\);\r\n\t\t\r\n\t\t\t// Relic Oseberg Wagon\r\n\t\t\trmAddTriggerEffect\("Set Tech Status"\);\r\n\t\t\trmSetTriggerEffectParamInt\("PlayerID",i\);\r\n\t\t\trmSetTriggerEffectParamInt\("TechID",370\);\r\n\t\t\trmSetTriggerEffectParamInt\("Status",4\);\r\n\t\t\}\r\n\t\t\r\n\t\t// Mythic Rejuvenation\r\n\t\trmAddTriggerEffect\("Set Tech Status"\);\r\n\t\trmSetTriggerEffectParamInt\("PlayerID",i\);\r\n\t\trmSetTriggerEffectParamInt\("TechID",432\);\r\n\t\trmSetTriggerEffectParamInt\("Status",4\);\r\n\t\t\r\n\t\t// Heroic Renewal\r\n\t\trmAddTriggerEffect\("Set Tech Status"\);\r\n\t\trmSetTriggerEffectParamInt\("PlayerID",i\);\r\n\t\trmSetTriggerEffectParamInt\("TechID",433\);\r\n\t\trmSetTriggerEffectParamInt\("Status",4\);\r\n\t\t\r\n\t\t// Hammer of the Gods\r\n\t\trmAddTriggerEffect\("Set Tech Status"\);\r\n\t\trmSetTriggerEffectParamInt\("PlayerID",i\);\r\n\t\trmSetTriggerEffectParamInt\("TechID",289\);\r\n\t\trmSetTriggerEffectParamInt\("Status",4\);\r\n\t\t\r\n\t\t// Meteoric Iron Mail\r\n\t\trmAddTriggerEffect\("Set Tech Status"\);\r\n\t\trmSetTriggerEffectParamInt\("PlayerID",i\);\r\n\t\trmSetTriggerEffectParamInt\("TechID",290\);\r\n\t\trmSetTriggerEffectParamInt\("Status",4\);\r\n\t\t\r\n\t\t// Dragonscale Shields\r\n\t\trmAddTriggerEffect\("Set Tech Status"\);\r\n\t\trmSetTriggerEffectParamInt\("PlayerID",i\);\r\n\t\trmSetTriggerEffectParamInt\("TechID",291\);\r\n\t\trmSetTriggerEffectParamInt\("Status",4\);\r\n\t\t\r\n\t\t// Dwarven Mail\r\n\t\trmAddTriggerEffect\("Set Tech Status"\);\r\n\t\trmSetTriggerEffectParamInt\("PlayerID",i\);\r\n\t\trmSetTriggerEffectParamInt\("TechID",153\);\r\n\t\trmSetTriggerEffectParamInt\("Status",4\);\r\n\t\t\r\n\t\t// Dwarven Weapons\r\n\t\trmAddTriggerEffect\("Set Tech Status"\);\r\n\t\trmSetTriggerEffectParamInt\("PlayerID",i\);\r\n\t\trmSetTriggerEffectParamInt\("TechID",155\);\r\n\t\trmSetTriggerEffectParamInt\("Status",4\);\r\n\t\t\r\n\t\t// Relic Fetters of Fenrir\r\n\t\trmAddTriggerEffect\("Set Tech Status"\);\r\n\t\trmSetTriggerEffectParamInt\("PlayerID",i\);\r\n\t\trmSetTriggerEffectParamInt\("TechID",199\);\r\n\t\trmSetTriggerEffectParamInt\("Status",4\);\r\n\t\}\r\n\r\n\trmSetTriggerPriority\(3\);\r\n\trmSetTriggerActive\(true\);\r\n\trmSetTriggerRunImmediately\(true\);\r\n\trmSetTriggerLoop\(false\);\r\n\t\r\n\trmCreateTrigger\("MyTrigger"\+2\);\r\n\r\n\trmSwitchToTrigger\(rmTriggerID\("MyTrigger2"\)\);\r\n\t\r\n\trmAddTriggerCondition\("Timer"\);\r\n\trmSetTriggerConditionParamInt\("Param1",1\);\r\n\t\r\n\tfor\(i=1; &lt;rmGetNumberPlayersOnTeam\(0\)\+1\)\{\r\n\t\trmAddTriggerEffect\("Grant Resources"\);\r\n\t\trmSetTriggerEffectParamInt\("PlayerID",i\);\r\n\t\trmSetTriggerEffectParam\("ResName","Food"\);\r\n\t\trmSetTriggerEffectParamInt\("Amount",2\);\r\n\t\t\r\n\t\trmAddTriggerEffect\("Grant Resources"\);\r\n\t\trmSetTriggerEffectParamInt\("PlayerID",i\);\r\n\t\trmSetTriggerEffectParam\("ResName","Wood"\);\r\n\t\trmSetTriggerEffectParamInt\("Amount",2\);\r\n\t\t\r\n\t\trmAddTriggerEffect\("Grant Resources"\);\r\n\t\trmSetTriggerEffectParamInt\("PlayerID",i\);\r\n\t\trmSetTriggerEffectParam\("ResName","Gold"\);\r\n\t\trmSetTriggerEffectParamInt\("Amount",2\);\r\n\t\}\r\n\t\r\n\trmSetTriggerPriority\(3\);\r\n\trmSetTriggerActive\(true\);\r\n\trmSetTriggerRunImmediately\(false\);\r\n\trmSetTriggerLoop\(true\);\r\n\t\r\n\t '; 
    $replace_text = preg_replace("/(?<=HERE)(\.\*)/", $target_text , $replace_text); 
    echo $replace_text; 
?> 

Сохранить PHP код выше, и назовите его a.php.

Добавить другой файл, чтобы сделать PHP работу, этот файл будет HTML и скопируйте следующий код внутри него, и сохранить его как a.html

<form action="b.php" method="POST"> 
 
Text: <input style="width: 500px; height: 80px; margin:5px; padding: 5px;" type="text" name="replace"> 
 
    <br /><br /> 
 
<input value="replace" style="margin:5px; width: 100px; height: 40px;" type="submit"> 
 
</form>

Теперь запустите а. html-файл в любом локальном хосте, и он должен работать!

Это регулярное выражение, которое я использовал, вы можете изменить его - если хотите - из файла PHP «a.php» в соответствии с вашими потребностями.

(?<=HERE)(\.\*)