Wyrażenie regularne - czy w ogóle się da uzyskać oczekiwany rezultat?

0

Witajcie Panowie,

mam następujący problem:

  • uczyń spację szczególną, a następnie
  • usuń wszystkie inne spacje poza szczególną

Oczywiście chciałem to rozwiązać przez zamianę re.sub - jednak nijak nie wiem czy można w ogóle coś takiego uzyskać.
Najczęściej korzystałem z wyrażeń w BASHu, sed i grep, ale takich konstrukcji nie przerabiałem.

Będę wdzięczny za pomoc.

1

Problem tak zapisany, że też się chwile zastanawiałem co to jest "szczególna spacja" :D
Rozumiem, że chcesz z tekstu usunąć wszystkie spacje oprócz jednej? Skąd wiesz i skąd program ma wiedzieć która to spacja jest tą szczególną? Czy wszystko musi być w wyrażeniu?
Najprościej chyba podmienić interesującą nas spację na inny znak - który nie wystąpi normalnie w tekście, ewentualnie na jakieś wyrażenie np. "[SZCZEGÓLNA_SPACJA]", potem wywalić wszystkie spacje, na końcu zamienić znak czy też nasze wyrażenie z powrotem na spację.

0

@Arthan - przemyślę Twoją propozycję z podmianą znaku.
Tak, wszystko musi być w wyrażeniu, problem polega na tym, że zmiany w tekście odbywają się w widgecie textview - jeśli nie będzie widocznym taka podmiana, to jak najbardziej będzie ok.
Dam znać później.

0

Panowie - wykorzystałem wiadomość Arthana - podłożenie innego znaku pod spacją, wybrałem chiński. Ciekawi mnie czy istnieje jakiś neutralny znak w kodzie UTF?
Natomiast program przebudowałem - nie wykorzystuję podstawiania a pętlę for do iteracji i porównań.

Tym samym problem uznaję za rozwiązany.
Dzięki za pomoc!

1 użytkowników online, w tym zalogowanych: 0, gości: 1