• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Usuwanie spacji ze Stringa

0 głosów
6,369 wizyt
pytanie zadane 3 stycznia 2018 w Java przez Kabuuz Bywalec (2,820 p.)
Cześć. Próbuje zrobić program który usunie wszystkie spacje ze zdania które poda użytkownik. Próbowałem za pomocą replace(' ','' ) ale gdzieś znalazłem, że '' jest traktowane tak jakbym tam zapomniał czegoś wpisać. Próbowałem też tam wpisać (char)32 używając kodu ASCII ale też nie działa. Da się to jakoś inaczej zamienić?
komentarz 8 stycznia 2020 przez Angelika Pawluk Nowicjusz (100 p.)
/*Funkcja wyświetla string bez spacji w ANSI C */

void usuwa_spacje(char tab[], int n)
{

      int i;
      for(i=0;i<strlen(tab);i++)
      {
          if(tab[i]!=32)
          {
              printf("%c",tab[i]);
          }
          else
          {
              continue;
          }
      }

2 odpowiedzi

+1 głos
odpowiedź 3 stycznia 2018 przez Marcin_N_97 Stary wyjadacz (10,290 p.)
Podejsć inaczej do problemu. Nie wczytuj całego zdania od użytkownika. Wczytaj jedno słowo i dodaj do stringa, wczytaj kolejne słowo i znowu przypisz do stringa itd, aż wczytasz całe zdanie. W ten sposób nie musisz pobierać całej linijki, a tlyko zamiast tego za pomocą cout po jednym wyrazie i je łączyć. Spacja jest też brana jako "rozrusznik" pipa, który odpowiada za pobieranie z konsoli.
komentarz 3 stycznia 2018 przez Kabuuz Bywalec (2,820 p.)
A można to jakoś zrobić tak że po wciśnięciu spacji zacznie wczytywać do innego Stringa albo jakoś usunąć tą spacje? Bo robię zadanie które znalazłem, gdzie jest napisane żeby wczytać całe zdanie a nie pojedyncze słowa.
komentarz 3 stycznia 2018 przez Wiciorny Ekspert (228,330 p.)
słabe rozwiązanie,  bo mimo że nie tworzysz nowych stringów - tylko tworzysz konkatenacje, to powoduje "znaczną ilość niepotrzebnych ,,, akcji i obciąża zużycie pamięci". Tzn rozwiązanie jak rozwiązanie, ale zła praktyka i nie powinno się tak podchodzić do problemu
+1 głos
odpowiedź 3 stycznia 2018 przez K0XM4N Gaduła (3,640 p.)

Spróbuj użyć np. replaceAll()

 

public static void main(String []args){
        String text = "just a litle text here";
        text = text.replaceAll(" ", "");
        System.out.println(text);
     }

zostanie tylko to: justalitletexthere
komentarz 3 stycznia 2018 przez Kabuuz Bywalec (2,820 p.)
Właśnie tego próbowałem ale na charach nie działało. Dzięki

Podobne pytania

0 głosów
2 odpowiedzi 371 wizyt
pytanie zadane 18 października 2019 w C i C++ przez Karpik Użytkownik (680 p.)
0 głosów
1 odpowiedź 524 wizyt
pytanie zadane 29 października 2020 w C i C++ przez Billy Użytkownik (610 p.)
0 głosów
3 odpowiedzi 1,521 wizyt
pytanie zadane 25 października 2016 w PHP przez Haroy Użytkownik (550 p.)

88,677 zapytań

137,288 odpowiedzi

306,652 komentarzy

58,873 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Sklep oferujący ćwiczenia JavaScript, PHP, rozmowy rekrutacyjne dla programistów i inne materiały

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...