» »

Replace

Replace

steev ::

Zdravo.
Imam en textovni fajl. In bi želel spremeniti določene znake notri, in sicer:

V text fajlu je cez 500 znakov '$'. Jaz pa bi jih zamenjal z značkami. Naprimer:

<tag>


Tu se pojavi problem, ker je zaključna značka drugačna:

</tag>


Torej bi morala biti vsaka druga zamenjava drugačna. Torej mi zamenja:

$nek_tekst$ v <tag>nek_tekst</tag>


Obstaja kak program, ki bi to omogočal? Ali pa da sprogramiram. Kak c++, php, bash?ž

Lp in hvala
:|

Dragi ::

notepad++

Ctrl+f -> replace-> narediš.

steev ::

Lahko zamenjam samo vse naenkrat. Ne morem pa vsakega drugega drugače.
:|

Dragi ::

Imajo kaj skupnega?

Recimo zadnji dve črki ali kaj podobnega?

Pimoz ::

regex? :P for example:
$file ~= s/\$(\w*|_)\$/<tag>$1<\/tag>/g;

(to je za perl...i think it works :/)

linux shell:
cat tvoj_file.txt | sed 's/\$(\w*|_)\$/<tag>$1<\/tag>/gi' > nova_datoteka.txt

Zgodovina sprememb…

  • spremenilo: Pimoz ()

Jean-Paul ::

Če $ niso gnezdeni, je stvar vrlo preprosta:
sed 's%\$\([^$]*\)\$%<tag>\1</tag>%g' tvoj_tekstovni_file.txt

Edit: me je Pimoz prehitel s podobno rešitvijo

Zgodovina sprememb…

steev ::

Niso gnezdeni. Hvala vam, samo sem že rešil. Sicer malo bolj po kmečko ampak vendar,
$inputFile = "input.txt";
$outputFile = "output.txt";
$file = file_get_contents($inputFile, true);
$file = explode('$', $file);
$output = $file[0];
for($i=1; $i<count($file); $i++){
	if (($i%2)==1) $output .= "<tag>";
	if (($i%2)==0) $output .= "</tag>";
	$output .= $file[$i];
}

$fh = fopen($outputFile, 'w') or die("can't open file");
fwrite($fh, $output);
fclose($fh);
:|


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Unicode decode

Oddelek: Programiranje
121863 (1321) Randomness
»

Uvoz txt datoteke v excel

Oddelek: Programska oprema
294699 (4336) sebavet
»

program v C-ju(presledki)

Oddelek: Programiranje
111138 (986) BigWhale
»

ena kratka bash skriptica

Oddelek: Operacijski sistemi
61048 (839) 'FireSTORM'
»

php

Oddelek: Izdelava spletišč
8981 (888) Ziga Dolhar

Več podobnih tem