Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]operacje na plikach
lamcpp
post
Post #1





Grupa: Zarejestrowani
Postów: 372
Pomógł: 2
Dołączył: 10.05.2009

Ostrzeżenie: (0%)
-----


mam plik *.txt, który wygląda mniej więcej tak:
2.0 1992.11 1975.10 22
1.1 1992.11 1975.10 35
1.1 SLE 1972.11 1975.10 40
&1300 MARATHON 1973.109 1975.08 42
...

Pytania:
-jak /przy pomocy jakiej funkcji dodać na początku każdego wiersza znak "$" (ale dodać tylko w tych wierszach, które nie mają znaku "&" na początku)
-jak usunąć wszystkie nadmiarowe spacje powyżej jednej
- za pomocą jakiej funkcji dodać przed ostatnimi numerami w rzędzie czyli przed 22, 35, 40, 42 znak ":", jak pomiędzy datami dodać znak "-"?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
lamcpp
post
Post #2





Grupa: Zarejestrowani
Postów: 372
Pomógł: 2
Dołączył: 10.05.2009

Ostrzeżenie: (0%)
-----


Chciałbym aby wyrażenie, które nie ma jako pierwszego znaku & otrzymało na początku linii znak ^ (a następne znaki żeby pozostały takie same
Czyli mam tekst:
&ACTdf hatchbed 1995.09 2000.09
1,6 1995.09 2000.09 66
2,6 1993.09 2001.09 62
I chciałbym by wyglądał on tak
&ACTdf hatchbed 1995.09 2000.09
^1,6 1995.09 2000.09 66
^2,6 1993.09 2001.09 62
Próbowałem już wielu sposobów żeby to zrobić np
$wzorzec[1]='#^[^&](.*)$#m';
$zamiana[1]='^$1';
ale to nie działa tak jak trzeba (ucina mi początek wyrazenia)

W pozostałych przykładach też nie działa to tak jak trzeba, zamiast negować cały ciąg, neguje mi pojedynczy znak;/
Go to the top of the page
+Quote Post
mortus
post
Post #3





Grupa: Zarejestrowani
Postów: 2 178
Pomógł: 596
Dołączył: 25.09.2009
Skąd: Piwniczna-Zdrój

Ostrzeżenie: (0%)
-----


Cytat(lamcpp @ 8.06.2011, 21:50:23 ) *
Chciałbym aby wyrażenie, które nie ma jako pierwszego znaku & otrzymało na początku linii znak ^ (a następne znaki żeby pozostały takie same
Czyli mam tekst:
&ACTdf hatchbed 1995.09 2000.09
1,6 1995.09 2000.09 66
2,6 1993.09 2001.09 62
I chciałbym by wyglądał on tak
&ACTdf hatchbed 1995.09 2000.09
^1,6 1995.09 2000.09 66
^2,6 1993.09 2001.09 62
Próbowałem już wielu sposobów żeby to zrobić np
$wzorzec[1]='#^[^&](.*)$#m';
$zamiana[1]='^$1';
ale to nie działa tak jak trzeba (ucina mi początek wyrazenia)

W pozostałych przykładach też nie działa to tak jak trzeba, zamiast negować cały ciąg, neguje mi pojedynczy znak;/

Ale przecież wyżej masz podobne wyrażenie ($patterns[0], $replacements[0]). Czy tak ciężko jest zamienić znak $ na ^ w $replacements[0]?
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 7.10.2025 - 14:52