Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] wyszukiwanie w stringach
php__amator
post
Post #1





Grupa: Zarejestrowani
Postów: 217
Pomógł: 1
Dołączył: 26.05.2011
Skąd: Moon

Ostrzeżenie: (10%)
X----


Witajcie Świątecznie,

Potrzebuję podpowiedzi, wyszukuję w stringu określonego ciągu znaków i tu nie ma problemu, potrzebuję jednak do tego określonego dodać kolejnych kilka ale już bez sprawdzania co to jest. Powiedzmy że mam ciąg: Z-0.00000000, wyszukuję znaki "Z-" i do tego kolejnych 10 znajdujących się z prawej strony.

Jak je połączyć albo jak z tych 2 elementów zrobić jeden.

Dlaczego ?
Dlatego, że liczby znajdujące się za Z- zmieniają się a nie są potrzebne więc trzeba je wyciąć.

Jak ?

Tak wyglądają kody
G00 Z0.10000000
G00 X4.95970000 Y2.74900000
G01 Z-0.25000000
G01 X4.95970000 Y3.99320000
G00 Z0.10000000
G00 X4.95970000 Y2.74900000
G01 Z-0.50000000
G01 X4.95970000 Y2.74900000 Z-0.50000000
G01 X4.95970000 Y3.99320000
G00 Z0.10000000
G00 X4.95970000 Y2.74900000
G01 Z-0.75000000
tak wyglądają kody i chcę wyciąć/podmienić automatycznie np:

G00 Z0.10000000 => M3

G01 Z-0.25000000 => M5
itd
Ponieważ zmieniają się wartości muszą być traktowane jedynie jako długość stringu a nie co w nim jest
Gdyby stringi były stałe problemu by nie było.

Ze świątecznym pozdrowieniem
phpamator


Ten post edytował phpamator 25.12.2014, 19:10:16
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
php__amator
post
Post #2





Grupa: Zarejestrowani
Postów: 217
Pomógł: 1
Dołączył: 26.05.2011
Skąd: Moon

Ostrzeżenie: (10%)
X----


Umiem czytać,
  1. // wyszukiwanie stringu G00 Zx.xxxxxxxx
  2. $str = preg_replace('/G00 Z[a-zA-Z0-9.]{10}/',"M3", $code);
  3.  
  4. // wyszukiwanie string G01 Zx.xxxxxxxx
  5. $str = preg_replace('/G01 Z[a-zA-Z0-9.]{10}/',"M3", $code);
  6.  
  7. // wyszukiwanie stringu G00 Z-x.xxxxxxxx - bardzo wazne zeby rozpoznawalo znak - od tego zalezy czy to M3 czy M5
  8. $str = preg_replace('/G00 Z-[A-Za-z0-9.]{10}/',"M5", $code);
  9.  
  10. // wyszukiwanie string G01 Z-x.xxxxxxxx
  11. $str = preg_replace('/G01 Z-[A-Za-z0-9.]{10}/',"M5", $code);
  12.  
  13. // wyszukiwanie stringu Zx.xxxxxxxx
  14. $str = preg_replace('/Z[a-zA-Z0-9.]{10}/',"M3", $code);
  15.  
  16. // wyszukiwanie string Z-x.xxxxxxxx
  17. $str = preg_replace('/Z-[a-zA-Z0-9.]{10}/',"M5", $code);
  18.  

Zobacz cie, o ile teoretycznie każda z tych linii wyszukuje i zamienia odpowiednią sekwencję na "Mx" to .... i tak nie chce działać jak ja tego potrzebuję

bo to: G00 Z0.10000000 G01 Z-0.25000000
G00 Z0.10000000 G01 Z-0.50000000
Z-0.50000000
G00 Z0.10000000 G01 Z-0.75000000
Z-0.75000000
Z-0.25000000
G00 Z0.10000000 G01 Z-0.50000000
Z-0.50000000
powinno wyglądać tak:
M3 M5
M3 M5
M5
M3 M5
M5
M5
M3 M5
M5
a wygląda tak (IMG:style_emoticons/default/sad.gif)

G00 Z0.10000000 G01 M5 G00 Z0.10000000 G01 M5 M5 G00 Z0.10000000 G01 M5 M5 M5 G00 Z0.10000000 G01 M5 M5

Ten post edytował phpamator 25.12.2014, 21:33:33
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: 12.10.2025 - 23:56