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%)
-----


Teraz juz rozumiem:)
Jeszcze jedno pytanie (juz ostatnie) z ktorym nie mogę sobie poradzic:
otoz mam dwa rodzaje linijek tekstu(z pojedynczą datą w postaci 2000.02, oraz z dwoma datami w postaci 2000.02 2005.03).
Oto przykłady:
1) pojedyncza data:
&TRANS 1996.08
&MON 1976.04
2)podwójna data
&TRANS 1996.08 1999.05
&MON 1976.04 2003.05

Chciałbym aby zostały zmienione tylko te linijki, które zawierają pojedyńczą datę. Wpisuję więc kod:
  1. $wzorzec[4]='#&(.*)([0-9]{4})[,|.]([0-9]{2})#m';
  2. $zamiana[4]='&$1:$2.$3-';

Niestety kod działa również na linijki z podwójną datą, jak więc zapisać by działało tylko z pojedynczą datą?
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: 16.10.2025 - 04:26