Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Хочу все знать (http://forum.oszone.net/forumdisplay.php?f=23)
-   -   Способ поиска и замены текста, с уникальным значением каждой замены. (http://forum.oszone.net/showthread.php?t=350053)

vk_k14m@vk 15-11-2021 13:03 2971985

Способ поиска и замены текста, с уникальным значением каждой замены.
 
Сегодня у меня странный вопрос. Допустим есть текстовый файл с огромным количество подобного текста
Код:

[$gameVariables.value(111)][72] = '日本語のテキスト'
Этот текст нужно найти, и заменить на подобный
Код:

[$gameVariables.value(111)][72] = 'Русские буквы'
Но таким образом, что б каждая последующая замена чем то отличалась от предыдущей. Например так:
Код:

[$gameVariables.value(111)][72] = 'Русские буквы 1'
[$gameVariables.value(111)][72] = 'Русские буквы 2'
[$gameVariables.value(111)][72] = 'Русские буквы 3'

Код:

[$gameVariables.value(111)][72] = 'Русские буквы a'
[$gameVariables.value(111)][72] = 'Русские буквы b'
[$gameVariables.value(111)][72] = 'Русские буквы c'

Код:

[$gameVariables.value(111)][72] = 'Русские буквы +'
[$gameVariables.value(111)][72] = 'Русские буквы ++'
[$gameVariables.value(111)][72] = 'Русские буквы +++'

Можно ли это сделать и если да то каким образом? Я искал способ для notepad++, но он, кажется, подобное не умеет...

Jula0071 15-11-2021 13:31 2971987

Цитата:

Цитата vk_k14m@vk
'日本語のテキスト' »

Что, прям именно такого - смесь хань, хираганы и катаканы? ;)
Вам нужно плясать от регексов, например, конкретно эту строку матчит выражение
Код:

[\p{Han}\p{Hiragana}\p{Katakana}]
Notepad++ вроде понимает регексы. Но наверное лучше написать скрипт.

vk_k14m@vk 15-11-2021 13:42 2971988

Цитата:

Цитата Jula0071
Что, прям именно такого - смесь хань, хираганы и катаканы? »

Я не хочу что б мне все японские символы без разбору заменилось на русский текст. Я хочу что б КОНКРЕТНЫЕ японские символы заменились на КОНКРЕТНЫЙ русский текст.

a_axe 15-11-2021 14:42 2971992

vk_k14m@vk, если я правильно понимаю - вы меняете одну строчку на одну и ту же замену, но каждую замену нужно пронумеровать?
В Word это можно сделать следующим способом:
1. Нажмите ctrl+F9, в появившиеся скобочки вставьте "LISTNUM NumberDefault \s" без кавычек.
2. Нажмите alt+F9, нумерация примет вид "1)". Скопируйте ее в буфер обмена, затем это вхождение нумерации можно удалить.
3. В диалоге поиска и замены (ctrl+H) найдите
[$gameVariables.value(111)][72] = '日本語のテキスト' и замените на
[$gameVariables.value(111)][72] = 'желаемый_текст ^c'
где за нумерацию будет отвечать ^c. Единственное - нумерация будет автоматически пересчитываться, если добавить еще вхождения этого поля, если вы ищите несколько разных фраз, то текст нужно скопировать и вставить через ctrl+alt+v как неформатированный текст, иначе нумерация будет едина для разных текстов.

vk_k14m@vk 15-11-2021 15:31 2971996

Цитата:

Цитата a_axe
vk_k14m@vk, если я правильно понимаю - вы меняете одну строчку на одну и ту же замену, но каждую замену нужно пронумеровать?
В Word это можно сделать следующим способом:
1. Нажмите ctrl+F9, в появившиеся скобочки вставьте "LISTNUM NumberDefault \s" без кавычек.
2. Нажмите alt+F9, нумерация примет вид "1)". Скопируйте ее в буфер обмена, затем это вхождение нумерации можно удалить.
3. В диалоге поиска и замены (ctrl+H) найдите
[$gameVariables.value(111)][72] = '日本語のテキスト' и замените на
[$gameVariables.value(111)][72] = 'желаемый_текст ^c'
где за нумерацию будет отвечать ^c. Единственное - нумерация будет автоматически пересчитываться, если добавить еще вхождения этого поля, если вы ищите несколько разных фраз, то текст нужно скопировать и вставить через ctrl+alt+v как неформатированный текст, иначе нумерация будет едина для разных текстов. »

Да, почти. Не обязательно нумеровать цифрами, нужно заменить японский текст русским переводов и добавить к переводу какую-то уникальность что б при последующем поиске я мог найти именно тот самый текст. И заменяю я не всю строчку а конкретную ее часть.
Вся строчка может выглядеть так
Цитата:

{"id":3,"list":[{"code":108,"indent":0,"parameters":["======================主人公======================="]},{"code":408,"indent":0,"parameters":["使い捨て変数1:対象の女  引数としてIDを指定する"]},{"code":408,"indent":0,"parameters":["使い捨て変数2:相手の男 引数IDを指定する"]},{"code":408,"indent":0,"parameters":["使い捨て変数3:好感度変動の値"]},{"code":408,"indent":0,"parameters":["使い捨て変数5:好感度、相性度が変化する相手 IDを指定する"]},{"code":408,"indent":0,"parameters":["使い捨て変数6:相性度変動の値"]},{"code":108,"indent":0,"parameters":["使い捨て変数7:妊娠する確率"]},{"code":408,"indent":0,"parameters":["使い捨て変数8:何人に犯されたか"]},{"code":408,"indent":0,"parameters":["使い捨て変数9:獲得精液量"]},{"code":122,"indent":0,"parameters":[111,111,0,0,1]},{"code":122,"indent":0,"parameters":[112,112,0,0,21]},{"code":122,"indent":0,"parameters":[113,113,0,0,3]},{"code":122,"indent":0,"parameters":[115,115,0,0,21]},{"code":122,"indent":0,"parameters":[116,116,0,0,3]},{"code":122,"indent":0,"parameters":[117,117,0,0,10]},{"code":122,"indent":0,"parameters":[118,118,0,0,1]},{"code":122,"indent":0,"parameters":[119,119,0,0,5]},{"code":122,"indent":0,"parameters":[119,119,1,2,0,4]},{"code":122,"indent":0,"parameters":[96,96,1,1,119]},{"code":111,"indent":0,"parameters":[1,119,0,0,3]},{"code":101,"indent":1,"parameters":["",0,0,2]},{"code":401,"indent":1,"parameters":["魔力を帯びた精液を\\v[119]ml手に入れた。"]},{"code":0,"indent":1,"parameters":[]},{"code":412,"indent":0,"parameters":[]},{"code":108,"indent":0,"parameters":["======================設定ここまで====================="]},{"code":355,"indent":0,"parameters":["$gameVariables._data[$gameVariables.value(111)][4] += 1//淫乱度"]},{"code":655,"indent":0,"parameters":["$gameVariables._data[$gameVariables.value(111)][6] += 1//主人公との性交回数"]},{"code":655,"indent":0,"parameters":["$gameVariables._data[$gameVariables.value(111)][7] += 0//他との性交回数"]},{"code":655,"indent":0,"parameters":["$gameVariables._data[$gameVariables.value(111)][8] += 0//戦闘時の性交回数"]},{"code":355,"indent":0,"parameters":["$gameVariables._data[$gameVariables.value(111)][11] += 0//主との中出し回数"]},{"code":655,"indent":0,"parameters":["$gameVariables._data[$gameVariables.value(111)][12] += 0//他との中出し回数"]},{"code":655,"indent":0,"parameters":["$gameVariables._data[$gameVariables.value(111)][13] += 0//戦闘中の中出し回数"]},{"code":355,"indent":0,"parameters":["$gameVariables._data[$gameVariables.value(111)][102] += 1//主前性交回数"]},{"code":655,"indent":0,"parameters":["$gameVariables._data[$gameVariables.value(111)][103] += 0//他前性交回数"]},{"code":655,"indent":0,"parameters":["$gameVariables._data[$gameVariables.value(111)][105] += 0//主後性交回数"]},{"code":655,"indent":0,"parameters":["$gameVariables._data[$gameVariables.value(111)][106] += 0//他後性交回数"]},{"code":355,"indent":0,"parameters":["$gameVariables._data[$gameVariables.value(111)][108] += 0//主中精液量"]},{"code":655,"indent":0,"parameters":["$gameVariables._data[$gameVariables.value(111)][109] += 0//他中精液量"]},{"code":655,"indent":0,"parameters":["$gameVariables._data[$gameVariables.value(111)][112] += (5 + Math.floor( Math.random() * 7))//主外精液量"]},{"code":655,"indent":0,"parameters":["$gameVariables._data[$gameVariables.value(111)][113] += 0//他外精液量"]},{"code":355,"indent":0,"parameters":["$gameVariables._data[$gameVariables.value(111)][78] += 0//主との絶頂回数"]},{"code":655,"indent":0,"parameters":["$gameVariables._data[$gameVariables.value(111)][79] += 0//他との絶頂回数"]},{"code":355,"indent":0,"parameters":["$gameVariables._data[$gameVariables.value(111)][5] = ($gameVariables.value($gameVariables.value(111))[6]+$gameVariables.value($gameVariables.value(111))[7])//性交回数"]},{"code":655,"indent":0,"parameters":["$gameVariables._data[$gameVariables.value(111)][10] = ($gameVariables.value($gameVariables.value(111))[11]+$gameVariables.value($gameVariables.value(111))[12])//中出し回数"]},{"code":655,"indent":0,"parameters":["$gameVariables._data[$gameVariables.value(111)][101] = ($gameVariables.value($gameVariables.value(111))[102]+$gameVariables.value($gameVariables.value(111))[103])//前性交回数"]},{"code":655,"indent":0,"parameters":["$gameVariables._data[$gameVariables.value(111)][104] = ($gameVariables.value($gameVariables.value(111))[105]+$gameVariables.value($gameVariables.value(111))[106])//後性交回数"]},{"code":655,"indent":0,"parameters":["$gameVariables._data[$gameVariables.value(111)][107] = ($gameVariables.value($gameVariables.value(111))[108]+$gameVariables.value($gameVariables.value(111))[109])//仲精液量"]},{"code":655,"indent":0,"parameters":["$gameVariables._data[$gameVariables.value(111)][111] = ($gameVariables.value($gameVariables.value(111))[112]+$gameVariables.value($gameVariables.value(111))[113])//外精液量"]},{"code":655,"indent":0,"parameters":["$gameVariables._data[$gameVariables.value(111)][77] = ($gameVariables.value($gameVariables.value(111))[78]+$gameVariables.value($gameVariables.value(111))[79])//絶頂回数"]},{"code":355,"indent":0,"parameters":["$gameVariables._data[$gameVariables.value(111)][28] = 0//身体を洗う?0で洗う、1で洗わない"]},{"code":355,"indent":0,"parameters":["$gameVariables._data[$gameVariables.value(111)][29] += 0//エロで翌週強化?"]},{"code":355,"indent":0,"parameters":["$gameVariables._data[$gameVariables.value(111)][72] = '夜這い'//前回の状況"]},{"code":655,"indent":0,"parameters":["$gameVariables._data[$gameVariables.value(111)][73] = 'ラブラブセックスで子作りセックスを行う。'//前回の内容1行目"]},{"code":655,"indent":0,"parameters":["$gameVariables._data[$gameVariables.value(111)][74] = '間男ほど感じないが、精神的に充足感を得た。'//前回の内容2行目"]},{"code":655,"indent":0,"parameters":["$gameVariables._data[$gameVariables.value(111)][75] = ' '//前回の内容3行目"]},{"code":108,"indent":0,"parameters":["経験人数操作+妊娠判定"]},{"code":408,"indent":0,"parameters":["引数"]},{"code":408,"indent":0,"parameters":["使い捨て変数2、男の変数(+200すると変数になる"]},{"code":408,"indent":0,"parameters":[""]},{"code":408,"indent":0,"parameters":["使い捨て変数4を内部で使う"]},{"code":121,"indent":0,"parameters":[124,124,1]},{"code":121,"indent":0,"parameters":[125,125,1]},{"code":121,"indent":0,"parameters":[127,127,0]},{"code":121,"indent":0,"parameters":[131,131,0]},{"code":122,"indent":0,"parameters":[139,139,0,0,1]},{"code":122,"indent":0,"parameters":[138,138,0,0,1]},{"code":117,"indent":0,"parameters":[43]},{"code":117,"indent":0,"parameters":[7]},{"code":108,"indent":0,"parameters":["好感度変動、引数"]},{"code":408,"indent":0,"parameters":["使い捨て変数3:好感度が変動する値"]},{"code":408,"indent":0,"parameters":["使い捨て変数5:好感度が変動する相手"]},{"code":117,"indent":0,"parameters":[8]},{"code":108,"indent":0,"parameters":["相性度変動、引数"]},{"code":408,"indent":0,"parameters":["使い捨て変数6:相性度が変動する値"]},{"code":408,"indent":0,"parameters":["使い捨て変数5:相性度が変動する相手"]},{"code":117,"indent":0,"parameters":[12]},{"code":117,"indent":0,"parameters":[57]},{"code":108,"indent":0,"parameters":["======================他======================="]},{"code":408,"indent":0,"parameters":["使い捨て変数1:対象の女  引数としてIDを指定する"]},{"code":408,"indent":0,"parameters":["使い捨て変数2:相手の男 引数IDを指定する"]},{"code":408,"indent":0,"parameters":["使い捨て変数3:好感度変動の値"]},{"code":408,"indent":0,"parameters":["使い捨て変数5:好感度、相性度が変化する相手 IDを指定する"]},{"code":408,"indent":0,"parameters":["使い捨て変数6:相性度変動の値"]},{"code":108,"indent":0,"parameters":["使い捨て変数7:妊娠する確率"]},{"code":408,"indent":0,"parameters":["使い捨て変数8:何人に犯されたか"]},{"code":408,"indent":0,"parameters":["使い捨て変数9:獲得精液量"]},{"code":122,"indent":0,"parameters":[111,111,0,0,1]},{"code":122,"indent":0,"parameters":[112,112,0,0,22]},{"code":122,"indent":0,"parameters":[113,113,0,0,3]},{"code":122,"indent":0,"parameters":[115,115,0,0,22]},{"code":122,"indent":0,"parameters":[116,116,0,0,3]},{"code":122,"indent":0,"parameters":[117,117,0,0,10]},{"code":122,"indent":0,"parameters":[118,118,0,0,1]},{"code":122,"indent":0,"parameters":[119,119,0,0,4]},{"code":122,"indent":0,"parameters":[119,119,1,2,0,4]},{"code":122,"indent":0,"parameters":[96,96,1,1,119]},{"code":111,"indent":0,"parameters":[1,119,0,0,3]},{"code":101,"indent":1,"parameters":["",0,0,2]},{"code":401,"indent":1,"parameters":["魔力を帯びた精液を\\v[119]ml手に入れた。"]},{"code":0,"indent":1,"parameters":[]},{"code":412,"indent":0,"parameters":[]},{"code":108,"indent":0,"parameters":["======================設定ここまで====================="]},{"code":355,"indent":0,"parameters":["$gameVariables._data[$gameVariables.value(111)][4] += 1//淫乱度"]},{"code":655,"indent":0,"parameters":["$gameVariables._data[$gameVariables.value(111)][6] += 0//主人公との性交回数"]},{"code":655,"indent":0,"parameters":["$gameVariables._data[$gameVariables.value(111)][7] += 1//他との性交回数"]},{"code":655,"indent":0,"parameters":["$gameVariables._data[$gameVariables.value(111)][8] += 0//戦闘時の性交回数"]},{"code":355,"indent":0,"parameters":["$gameVariables._data[$gameVariables.value(111)][11] += 0//主との中出し回数"]},{"code":655,"indent":0,"parameters":["$gameVariables._data[$gameVariables.value(111)][12] += 1//他との中出し回数"]},{"code":655,"indent":0,"parameters":["$gameVariables._data[$gameVariables.value(111)][13] += 0//戦闘中の中出し回数"]},{"code":355,"indent":0,"parameters":["$gameVariables._data[$gameVariables.value(111)][102] += 0//主前性交回数"]},{"code":655,"indent":0,"parameters":["$gameVariables._data[$gameVariables.value(111)][103] += 1//他前性交回数"]},{"code":655,"indent":0,"parameters":["$gameVariables._data[$gameVariables.value(111)][105] += 0//主後性交回数"]},{"code":655,"indent":0,"parameters":["$gameVariables._data[$gameVariables.value(111)][106] += 0//他後性交回数"]},{"code":355,"indent":0,"parameters":["$gameVariables._data[$gameVariables.value(111)][108] += 0//主中精液量"]},{"code":655,"indent":0,"parameters":["$gameVariables._data[$gameVariables.value(111)][109] += (5 + Math.floor( Math.random() * 7))//他中精液量"]},{"code":655,"indent":0,"parameters":["$gameVariables._data[$gameVariables.value(111)][112] += 0//主外精液量"]},{"code":655,"indent":0,"parameters":["$gameVariables._data[$gameVariables.value(111)][113] += 0//他外精液量"]},{"code":355,"indent":0,"parameters":["$gameVariables._data[$gameVariables.value(111)][78] += 0//主との絶頂回数"]},{"code":655,"indent":0,"parameters":["$gameVariables._data[$gameVariables.value(111)][79] += 0//他との絶頂回数"]},{"code":355,"indent":0,"parameters":["$gameVariables._data[$gameVariables.value(111)][5] = ($gameVariables.value($gameVariables.value(111))[6]+$gameVariables.value($gameVariables.value(111))[7])//性交回数"]},{"code":655,"indent":0,"parameters":["$gameVariables._data[$gameVariables.value(111)][10] = ($gameVariables.value($gameVariables.value(111))[11]+$gameVariables.value($gameVariables.value(111))[12])//中出し回数"]},{"code":655,"indent":0,"parameters":["$gameVariables._data[$gameVariables.value(111)][101] = ($gameVariables.value($gameVariables.value(111))[102]+$gameVariables.value($gameVariables.value(111))[103])//前性交回数"]},{"code":655,"indent":0,"parameters":["$gameVariables._data[$gameVariables.value(111)][104] = ($gameVariables.value($gameVariables.value(111))[105]+$gameVariables.value($gameVariables.value(111))[106])//後性交回数"]},{"code":655,"indent":0,"parameters":["$gameVariables._data[$gameVariables.value(111)][107] = ($gameVariables.value($gameVariables.value(111))[108]+$gameVariables.value($gameVariables.value(111))[109])//仲精液量"]},{"code":655,"indent":0,"parameters":["$gameVariables._data[$gameVariables.value(111)][111] = ($gameVariables.value($gameVariables.value(111))[112]+$gameVariables.value($gameVariables.value(111))[113])//外精液量"]},{"code":655,"indent":0,"parameters":["$gameVariables._data[$gameVariables.value(111)][77] = ($gameVariables.value($gameVariables.value(111))[78]+$gameVariables.value($gameVariables.value(111))[79])//絶頂回数"]},{"code":355,"indent":0,"parameters":["$gameVariables._data[$gameVariables.value(111)][28] = 0//身体を洗う?0で洗う、1で洗わない"]},{"code":355,"indent":0,"parameters":["$gameVariables._data[$gameVariables.value(111)][29] += 0//エロで翌週強化?"]},{"code":355,"indent":0,"parameters":["$gameVariables._data[$gameVariables.value(111)][72] = '眠姦'//前回の状況"]},{"code":655,"indent":0,"parameters":["$gameVariables._data[$gameVariables.value(111)][73] = '魔術で深い眠りに付かされて無責任生中出しされる。'//前回の内容1行目"]},{"code":655,"indent":0,"parameters":["$gameVariables._data[$gameVariables.value(111)][74] = 'しっかりと膣奥で精液を注がれ、無意識に快楽を覚えた。'//前回の内容2行目"]},{"code":655,"indent":0,"parameters":["$gameVariables._data[$gameVariables.value(111)][75] = ' '//前回の内容3行目"]},{"code":108,"indent":0,"parameters":["経験人数操作+妊娠判定"]},{"code":408,"indent":0,"parameters":["引数"]},{"code":408,"indent":0,"parameters":["使い捨て変数2、男の変数(+200すると変数になる"]},{"code":408,"indent":0,"parameters":[""]},{"code":408,"indent":0,"parameters":["使い捨て変数4を内部で使う"]},{"code":121,"indent":0,"parameters":[124,124,1]},{"code":121,"indent":0,"parameters":[125,125,1]},{"code":121,"indent":0,"parameters":[127,127,0]},{"code":121,"indent":0,"parameters":[131,131,0]},{"code":122,"indent":0,"parameters":[139,139,0,0,1]},{"code":122,"indent":0,"parameters":[138,138,0,0,1]},{"code":117,"indent":0,"parameters":[43]},{"code":117,"indent":0,"parameters":[7]},{"code":108,"indent":0,"parameters":["好感度変動、引数"]},{"code":408,"indent":0,"parameters":["使い捨て変数3:好感度が変動する値"]},{"code":408,"indent":0,"parameters":["使い捨て変数5:好感度が変動する相手"]},{"code":117,"indent":0,"parameters":[8]},{"code":108,"indent":0,"parameters":["相性度変動、引数"]},{"code":408,"indent":0,"parameters":["使い捨て変数6:相性度が変動する値"]},{"code":408,"indent":0,"parameters":["使い捨て変数5:相性度が変動する相手"]},{"code":117,"indent":0,"parameters":[12]},{"code":117,"indent":0,"parameters":[57]},{"code":0,"indent":0,"parameters":[]}],"name":"イベント後変数操作","switchId":1,"trigger":0},
Попробую сделать как вы написали. Надеюсь поможет. А что касаемо нумерации. Это значит что если я буду заменять разные куски текста то у всех у них будет общая нумерация? Это совсем не проблема. Главное что б у одной и той же замены текст не совпадал в точности. А если нумерация не с 1 будет начинатся, это не важно...

В целом работает, но немного не так.
Я искал Variables.value(111)][72] = '夜這い'
И заменял на Variables.value(111)][72] = 'Ночное посещение ^c'

И в итоге текст
{"code":355,"indent":0,"parameters":["$gameVariables._data[$gameVariables.value(111)][72] = '夜這い'//前回の状況"]}
Превратился в текст
{"code":355,"indent":0,"parameters":["$gameVariables._data[$gameVariables.value(111)][72] = ‘Ночное посещение Variables.value(111)][72] = 'Ночное посещение ^c'‘//前回の状況"]},

Я сделал что-то не так?

Меня вот что беспокоит. Я должен скопировать "1)". И это должно остаться в буфере обмена? Если да то у меня ничего не выйдет. Получается что текст "Variables.value(111)][72] = '夜這い'" и "Variables.value(111)][72] = 'Ночное посещение ^c'" я должен написать вручную? А не копировать вставить? С русским и англаийким я конечно справлюсь, а вот на японском я написать не смогу...

a_axe 15-11-2021 15:49 2972000

vk_k14m@vk, тут нюансы следующие:
1). К тексту добавится счетчик, он вычисляется просто по порядку - 1, 2, 3. Если в документе было 10 замен, и в середине вы вставите еще один новый - то вся нумерация пересчитается - шестой станет седьмым, седьмой - восьмым, десятый - одиннадцатым.

2). Если вы искали "яблоко" и заменили на "яблоко1)" - "яблоко15)", а потом стали искать "груша", то у груши не будет своей отдельной нумерации - будет мешанина: "яблоко1) яблоко2) груша3) яблоко4) груша5)".

Опишите более подробно конечный результат, тогда можно скорректировать решение.

Цитата:

Цитата vk_k14m@vk
Я сделал что-то не так? »

Вероятно - в буфере было не поле {LISTNUM NumberDefault \s} , а скопирован текст. Откройте второй документ word, в нем впишите {LISTNUM NumberDefault \s} - повторюсь через ctrl+f9 и копируйте в буфер непосредственно перед поиском и заменой. Если вариант подойдет, можно подумать, как убрать ненужное копирование.

vk_k14m@vk 15-11-2021 15:54 2972002

Цитата:

Цитата a_axe
2). Если вы искали "яблоко" и заменили на "яблоко1)" - "яблоко15)", а потом стали искать "груша", то у груши не будет своей отдельной нумерации - будет мешанина: "яблоко1) яблоко2) груша3) яблоко4) груша5)". »

Это не проблема вообще. Суть не в том что б пронумеровать яблоки и груши от 1 до n, а в том что б просто у каждой груши и яблока была своя цифра. Что б не было двух груш и двух яблок с одинаковой цифрой. Что б не было двух "груш3" или двух "яблок9". Так что ничего страшного в том что нумерация сломана или непоследовательна.

vk_k14m@vk 15-11-2021 16:11 2972003

Цитата:

Цитата a_axe
Вероятно - в буфере было не поле {LISTNUM NumberDefault \s} , а скопирован текст. Откройте второй документ word, в нем впишите {LISTNUM NumberDefault \s} - повторюсь через ctrl+f9 и копируйте в буфер непосредственно перед поиском и заменой. Если вариант подойдет, можно подумать, как убрать ненужное копирование. »

Кажется понял. Нужно сначала привести нумерацию к виду "1)"
Потом открыть меню замены, вписать что и на что я хочу заменить. А уже потом скопировать нумерацию "1)" в буфер обмена и произвести замену.

Сейчас так попробую...

...И. Снова проблема. Внутри Word все работает как положено. Замена прошла успешно и везде появилась цифра. Но стоит сохраниться и открыть файл в программе оригинале, или просто в блокноте. Как цифра пропадает. Она не сохранятся в файл. Пытался просто сохранить файл, или "сохранить как" в txt файл. Все равно нумерация исчезает, хоть текст и заменился на русский и добавился пробел, но цифры нет.

Работает если сохранить в docx...
И вот что интересно. Даже так при использовании обычного поиска по документу. В поиске цифры нет. Это как буд-то какая то надстройка которая работает только внутри Word


Нашел костыльное решение. После замены я не сохраняю документ. Я выделяю весь текст внутри Word и копирую. Затем открываю оригинал файла в Notepad++ и вставляю туда весь текст с Word. Так цифры нумерации остаются. Видимо придется так делать постоянно...

wasp14 15-11-2021 16:36 2972008

Описание программы nhrt | nhutils

vk_k14m@vk 15-11-2021 16:38 2972009

Цитата:

Цитата wasp14
Описание программы nhrt | nhutils »

Это наверняка очень полезная и мощная утилита, но командная строка...
Я такое не осилю...

Еще и комментарий на странице оставить нельзя.

wasp14 15-11-2021 16:58 2972013

нет, похоже такое она не умеет. подробней почитал что нужно, не оно...

DJ Mogarych 16-11-2021 09:01 2972083

Powershell:
Код:

$file = "D:\temp\japanese.txt"
$from = "日本語のテキスト"
$to = "Русские буквы"

$c = 1
$result = gc "$file" -Encoding UTF8 |% {
$_ -replace "$from","$($to + " $c")"
$c++
}
$result |Set-Content "$file" -Encoding UTF8


YuS_2 16-11-2021 09:36 2972085

Цитата:

Цитата DJ Mogarych
% { »

Тут присутствует одна "засада"... если в одной строке будет две замены, они будут с одним номером счетчика...

DJ Mogarych 16-11-2021 09:39 2972087

В ТЗ об этой ситуации ничего не сказано, что мы будем додумывать за заказчика.

YuS_2 16-11-2021 09:51 2972089

Цитата:

Цитата DJ Mogarych
что мы будем додумывать за заказчика. »

тут - под спойлером "Вся строчка может выглядеть так"
и собственно, об уникальности замен:
Цитата:

Цитата vk_k14m@vk
Суть не в том что б пронумеровать яблоки и груши от 1 до n, а в том что б просто у каждой груши и яблока была своя цифра. Что б не было двух груш и двух яблок с одинаковой цифрой. »

так что, строго по ТЗ :)

DJ Mogarych,
На первый взгляд:
можно отлавливать совпадения:
Код:

(sls -lit "test.txt" -patt 'шаблон' -all).matches
и по индексу менять по шаблону с добавлением уникального счетчика...
Сейчас убегаю, позже попробую что-нибудь накропать, если никто не отпишется...

DJ Mogarych 16-11-2021 13:20 2972101

Да, невнимательно читал историю вопроса, извиняюсь.

Тогда вот так:
Код:

$file = "D:\temp\japanese.txt"
$from = "日本語のテキスト"
$to = "Русские буквы"

$script:c = 0
$result = gc "$file" -Encoding UTF8 |% {
[regex]::Replace($_, $from, {$script:c++; $to + " $script:c"})
}
$result |Set-Content "$file" -Encoding UTF8


YuS_2 16-11-2021 14:35 2972110

Цитата:

Цитата DJ Mogarych
Тогда вот так »

Сделал сначала через remove-insert, потом подумал, что есть ведь replace()... собрался сюда постить, а тут уже есть, что-то подобное...
Но для разнообразия, пригодится (в моем варианте есть упрощение для PS 6.0 и выше):
Код:

$filein = '.\test.txt'
$fileout = '.\test_out.txt'
$find = '性交回数'
#$find = read-host 'введите строку замены, что'
$replace = 'ТЕКСТ'
#$replace = read-host 'ведите строку замены, чем'
$global:cnt = 1
$data = gc $filein -enc utf8 -raw
if ($psversiontable.psversion.major -gt 5){
        $data = $data -replace $find, {$replace + " " +$cnt++}
} else {
        $data = [regex]::replace($data,$find,{$replace + " " + $global:cnt++})
}
$data|out-file $fileout -enc utf8


vk_k14m@vk 16-11-2021 17:10 2972149

Цитата:

Цитата DJ Mogarych
Powershell: »

Не годится от слова совсем.
$from = "日本語のテキスト"
А что если после, или перед "日本語のテキスト" еще какой-то текст? Тогда перевод окажется в корне не верным. А может и вовсе сломать какой-то важный скрипт.
Искать нужно именно Variables.value(111)][72] = '夜這い'
Если это окажется Variables.value(111)][72] = 'の夜這い' или Variables.value(111)][72] = '夜這い日' или Variables.value(111)][73] = '夜這い' то замена уже неправильная

YuS_2 16-11-2021 19:39 2972161

Цитата:

Цитата vk_k14m@vk
Не годится от слова совсем. »

"Железный" аргумент!

Цитата:

Цитата vk_k14m@vk
А что если после, или перед »

так и впишите то, что надо искать, также, как и то, чем надо менять... только там шаблон регулярного выражения, т.е. спецсимволы необходимо экранировать:
Код:

...
$find = "(?<=Variables\.value\(111\)\]\[72\] *\= *')夜這い(?=')"
$replace = 'ТЕКСТ ДЛЯ ЗАМЕНЫ'
...

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

vk_k14m@vk 16-11-2021 20:01 2972167

Цитата:

Цитата YuS_2
так и впишите то, что надо искать, также, как и то, чем надо менять... только там шаблон регулярного выражения, т.е. спецсимволы необходимо экранировать:
Код:
...
$find = "(?<=Variables\.value\(111\)\]\[72\] *\= *')夜這い(?=')"
$replace = 'ТЕКСТ ДЛЯ ЗАМЕНЫ'
...
любую часть шаблона можно вынести в интерактивный запрос на ввод и вводить его руками, либо копированием... »

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

В данном случае нужно либо писать полностью рабочий шаблон который сам по себе делает то что нужно без каких либо изменений.
Либо полностью объяснять каждый символ в шаблоне что б любой кто это прочитает понимал как он работает и как его можно изменить.

bredych 16-11-2021 21:33 2972183

Цитата:

Цитата vk_k14m@vk (Сообщение 2971988)
Я хочу что б КОНКРЕТНЫЕ японские символы заменились на КОНКРЕТНЫЙ русский текст.

А в чем проблема в строке поиска вводить японскую фразу, в замене русскую?
Посимвольно все равно чепуху получите: иероглифы могут звучать одинаково, но значить разное.

vk_k14m@vk 17-11-2021 02:04 2972207

Цитата:

Цитата bredych
А в чем проблема в строке поиска вводить японскую фразу, в замене русскую?
Посимвольно все равно чепуху получите: иероглифы могут звучать одинаково, но значить разное. »

Где я писал что я хочу посимвольно заменять?

wasp14 17-11-2021 03:26 2972208

Сильно подозреваю, это очередной случай, когда TS придумал себе задачу и пробует её решить своим же способом. Который он определил для себя... по незнанию. Ибо описание идёт с середины(как обычно и бывает в таких случаях).

Тыб сказал что делаешь, вообще, вцелом. Если это перевод, то есть проги созданные для перевода программ. А так, похоже что ты выдрал из dll или exe ресурс в ResHacker-e или Restorator-e и пытаесся его жмякать по-разному в тексте, дабы потом запихнуть его на место.

Что это? Зачем это? Это перевод программы?

YuS_2 17-11-2021 07:59 2972212

Цитата:

Цитата vk_k14m@vk
В данном случае нужно »

грызть гранит науки©Лев
Ну или подождать того, кто сделает тебе всё красиво...

vk_k14m@vk 17-11-2021 18:53 2972284

Цитата:

Цитата wasp14
Сильно подозреваю, это очередной случай, когда TS придумал себе задачу и пробует её решить своим же способом. Который он определил для себя... по незнанию. Ибо описание идёт с середины(как обычно и бывает в таких случаях).
Тыб сказал что делаешь, вообще, вцелом. Если это перевод, то есть проги созданные для перевода программ. А так, похоже что ты выдрал из dll или exe ресурс в ResHacker-e или Restorator-e и пытаесся его жмякать по-разному в тексте, дабы потом запихнуть его на место.
Что это? Зачем это? Это перевод программы? »

Сильно подозреваю что автор этого сообщения гавкнул лишь бы гавкнуть. Это обычный текстовый файл с раширением *.json который можно открыть любым текстовым редактором. Программы для перевода переводят весь текст без разбору ломая все все скрипты и требуют внимательного и дотошного контроля. На это времени у меня нет. Вы либо читать научитесь либо не пишите свои высеры.
a_axe почему то сразу все понял и предложил рабочий вариант. Почему все последующие умники ничего не могут понять? Вы тупее его? Тогда не пишите ничего.

wasp14 17-11-2021 20:03 2972296

Цитата:

Цитата vk_k14m@vk
Это обычный текстовый файл с раширением *.json »

Если это "жейсон", то работать с ним надобно бы на JS(для которого "жейсон" родной формат) где есть и регулярки и счетчик просто организовать и все остальное. Ну или редакторы с полной поддержкой JS выражений.

vk_k14m@vk 17-11-2021 20:39 2972301

Цитата:

Цитата wasp14
Если это "жейсон", то работать с ним надобно бы на JS(для которого "жейсон" родной формат) где есть и регулярки и счетчик просто организовать и все остальное. Ну или редакторы с полной поддержкой JS выражений. »

На самом деле это РПГ мейкер. Но в самом редакторе нет ни поиска, ни замены, ни тем более регулярных выражений. Вот и приходится пользоваться подручными средствами...

bredych 18-11-2021 00:32 2972323

Цитата:

Цитата vk_k14m@vk (Сообщение 2972207)
Где я писал что я хочу посимвольно заменять?

Невнятное тз - результат хз.

vk_k14m@vk 18-11-2021 01:11 2972324

Цитата:

Цитата bredych
Невнятное тз - результат хз. »

Для неумеющего читать все будет непонятно. Перечитай мой первый пост внимательно. Тупень. У меня в примере 1 иероглиф написан? 1 символ? Нет. Там набор иероглифов вместе с куском скрипта. Так сфигали ты подумал что я посимвольно хочу что-то заменять? Ну посмотри глазами и не позорься!

YuS_2 18-11-2021 08:58 2972343

Цитата:

Цитата vk_k14m@vk
автор этого сообщения гавкнул лишь бы гавкнуть. »

Цитата:

Цитата vk_k14m@vk
На это времени у меня нет. »

Цитата:

Цитата vk_k14m@vk
либо не пишите свои высеры. »

Цитата:

Цитата vk_k14m@vk
Почему все последующие умники ничего не могут понять? Вы тупее его? »

Цитата:

Цитата vk_k14m@vk
Тупень. »

Хамло обыкновенное, к тому же, не желающее ничего изучать... удивительно, что тебе, вообще, кто-то пытается помочь...

DJ Mogarych 18-11-2021 10:44 2972367

vk_k14m@vk - 7 дней бана, ОПК 3.1.

LoL202 18-11-2021 17:43 2972423

Цитата:

Цитата YuS_2
Хамло обыкновенное, к тому же, не желающее ничего изучать... удивительно, что тебе, вообще, кто-то пытается помочь... »

А это что такое?
Цитата:

Цитата vk_k14m@vk
Нашел костыльное решение. После замены я не сохраняю документ. Я выделяю весь текст внутри Word и копирую. Затем открываю оригинал файла в Notepad++ и вставляю туда весь текст с Word. Так цифры нумерации остаются. Видимо придется так делать постоянно... »

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


Время: 13:26.

Время: 13:26.
© OSzone.net 2001-