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

Usuwanie spacji ze Stringa

Object Storage Arubacloud
0 głosów
8,666 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 (269,710 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 878 wizyt
pytanie zadane 18 października 2019 w C i C++ przez Karpik Użytkownik (680 p.)
+1 głos
2 odpowiedzi 417 wizyt
pytanie zadane 3 października 2022 w JavaScript przez Piotrek2713 Mądrala (5,340 p.)
0 głosów
1 odpowiedź 1,269 wizyt
pytanie zadane 29 października 2020 w C i C++ przez Billy Użytkownik (680 p.)

92,555 zapytań

141,403 odpowiedzi

319,557 komentarzy

61,940 pasjonatów

Motyw:

Akcja Pajacyk

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

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...