|
|
|
Пример: есть текст
Код: |
фыщгафыаорицдзутвао ыва ывап ытьвапцук цыавим ыфвашпц ыаип ыардовп итыварыв даэыьвп мывазжв ыаывщо апцуешцхетц пцип лывапт дыарпцэцлукпцоп ыжавп ывп ывщп2цьэпжп ваыщпэыпл цэы
|
есть список слов
Код: |
вася
петя
маша
катя
гриша
тимофей
|
Нужно: заменить в исходном тексте слог "ва" на слова поочереди из списка.
Подскажите декстопный софт, или может можно сделать в экселе? |
|
|
|
|
|
Как умею накидал на Ruby
Для исполнения скачай http://rubyforge.org/frs/download.php/29263/ruby186-26.exe
В коде исправь значение subs на нужное слово для замены.
В файле text.txt - текст
В файле words.txt - список слов
Если слова заканчиваются, замена продолжается с первого слова.
Результат запишется в result.txt
Файл soft.rb
Код: |
subs = "ва" # Замена
words = IO.readlines("words.txt")
text = IO.read("text.txt")
resultFile = File.open("result.txt", "w")
charIndex = 0
wordIndex = 0
while charIndex < text.length
if text[charIndex,subs.length] == subs
if wordIndex >= words.length
wordIndex = 0
end
text[charIndex,subs.length] = words[wordIndex].chomp
wordIndex = wordIndex + 1
end
charIndex = charIndex + 1
end
resultFile.print(text)
resultFile.close
|
|
|
|
|
|
|
Спасибо большое! Попробуем |
|
|
|
|
|
sydoow, рад помочь!
Я тут поторопился и не учитывал тот вариант, что заменяемое "ва" может входить в одно из слов списка, в итоге замена пройдёт по уже вставленному слову. Исправляюсь:
Код: |
subs = "ва" # Замена
words = IO.readlines("words.txt")
text = IO.read("text.txt")
resultText = ""
resultFile = File.open("result.txt", "w")
charIndex = 0
wordIndex = 0
while charIndex < text.length
if text[charIndex,subs.length] == subs
if wordIndex >= words.length
wordIndex = 0
end
resultText = resultText + words[wordIndex].chomp
wordIndex = wordIndex + 1
charIndex = charIndex + subs.length
else
resultText = resultText + text[charIndex,1]
charIndex = charIndex + 1
end
end
resultFile.print(resultText)
resultFile.close
|
С этим кодом "ва" может спокойно присутствовать в списке и тронуто не будет. |
|
|
|
|
|
Многие операции со строками удобно производить с помощью TextPipe или же самописными и не очень скриптами. |
|
|
|
|
|
GetLucky, объясни плиз как этим пользоваться?
Я скачал Ruby, установил, запустил, вставил твой код, а дальше куда жать? ) |
|
|
|
|
|
РАЗОБРАЛСЯ САМ!!
Сохраняешь вышеуказанный код в текстовый файл, потом делаешь расширение "*.rb" и все ОК
Спасибо ещё раз, опробовал, всё работает) |
|
|
|
|
|
После установки Ruby скрипты с расширением .rb должны стать исполняемыми, у них ещё иконка появится.
Так вот, создай файл soft.rb (обычный текстовый, но с rb расширением) и в него вставь код скрипта. Для удобства делай всё в отдельной папке.
Затем создай файлы text.txt (с текстом) и words.txt (со словами) в той же папке. Всё. Можно запустить soft.rb и в этой же папке забирать результат из только что создавшегося result.txt (его можно не удалять, он будет при следующем использовании с нуля перезаписываться).
Если что не понятно, пиши.
Upd. Чуток запоздал |
|
|
|
|
|
|
|