Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Podmiana dokładnie n-tego wystąpienia ciągu znaków, Jakiej funkcji, lub zestawu funkcji użyć.
romseb
post
Post #1





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 19.09.2007

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


Dzień dobry,

Chciałem prosić o pomoc w następującej sprawie:

Dany jest ciąg znaków: element1- element2-element2-element3-element4- (Ilustracja schematyczna). Ciąg zawiera w różnych miejscach znak nowej linii. Długość ciągu może się zmieniać, bo zmienia się ilość elementów, i ilość wystąpień znaku minus. Zadanie jest następujące: Po ostatnim elemencie nie ma prawa być znaku minus. Należy ostatnie zastąpienie znaku minus zastąpić znakiem pustym. Przy czym ostatnie wystąpienie znaku minus nie jest ostatnim znakiem całego ciągu. To Tak żeby było trudniej. Myślę od dwóch dni jak sobie poradzić z teoretycznie prostą rzeczą, i nie mogę się zdecydować jakiej kombinaci funkcji użyć.

Jeśli ktoś ma jakieś pomysły jak to rozwiązać, będę wdzięczny za podpowiedzi i przykłady.

Pozdrawiam i dziękuję

romseb
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Z tego co zrozumialem chcesz usunac ostatni myslnik, tak?

  1. $text = "element1- element2-element2
  2. -element3-
  3. element4-alamakota";
  4.  
  5. $text = preg_replace('/-([^\-]*)$/','\\1',$text);
  6.  
  7. echo $text;


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Pyton_000
post
Post #3





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


  1. $text = "element1- element2-element2
  2. -element3-
  3. element4-alamakota";
  4.  
  5. $last = strrpos($text, '-');
  6. $text[$last] = '';
  7. var_dump($text);
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 20.08.2025 - 19:54