Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2010-04-23 10:13:08

  dawid77 - Użytkownik

dawid77
Użytkownik
Zarejestrowany: 2005-12-15

Wrzucanie do stringa - według kryteriów

Witam! Mam takie pytanie - mam zdanie wrzucone do stringa z czterema znakami specjalnymi ( np "|" )

zdanie = "to jest tekst | bardzo krotki itd | jest to fajny tekst | bardzo fajny";

i teraz chciałbym zrobić coś takiego żeby wrzucić do drugiej zmiennej tą część stringa:

zdanie1 = "to jest tekst | bardzo krotki itd |";

- czyli jak widać jeśli wystąpi drugi znak "|" to wrzuć do drugiej zmiennej

i oczywiście cała reszta do trzeciej zmiennej:

zdanie2 =  " jest to fajny tekst | bardzo fajny";

Był bym wdzięczny za jakąś podpowiedź ( robię to w javie ale jeśli ma ktoś pomysł w php czy innym języku to spróbuję dostosować sobie kod do javy)


dawid

Offline

 

#2  2010-04-23 10:38:06

  dawid77 - Użytkownik

dawid77
Użytkownik
Zarejestrowany: 2005-12-15

Re: Wrzucanie do stringa - według kryteriów

Ok! W php wyglądało by to tak:


<?php
$str = 'to jest tekst | bardzo krotki itd | jest to fajny tekst | bardzo fajny';

$line_dane = explode("|", $str);

echo $line_dane[0]." ".$line_dane[1];
?>

a jak w javie??


dawid

Offline

 

#3  2010-04-23 10:54:19

  0dd - Członek DUG

0dd
Członek DUG
Skąd: Kraków
Zarejestrowany: 2006-03-25

Re: Wrzucanie do stringa - według kryteriów

Na przyklad tak:

Kod:

        String s = "to jest tekst | bardzo krotki itd | jest to fajny tekst | bardzo fajny";
        String delim = "|";
        String[] arr = s.split("\\" + delim);
        for (int i = 0; i < arr.length; i++) {
            if (i < arr.length - 1) {
                arr[i] += delim;
            }
        }
        
        for (int i = 0; i < arr.length / 2; i++) {
            System.out.println(arr[i * 2] + arr[i * 2 + 1]);
        }

apt-get install anarchism

Offline

 

#4  2010-04-23 12:43:14

  dawid77 - Użytkownik

dawid77
Użytkownik
Zarejestrowany: 2005-12-15

Re: Wrzucanie do stringa - według kryteriów

Dzięki bradzo za info! Ale można prościej:

  String  jeden = string1[0].replace("\n", "|"); // to jest: "to jest tekst | bardzo krotki itd | jest to fajny tekst | bardzo fajny"; - najpierw zamieniałem \n na "|" - takie znaki entera zawierało to zdanie - ale mniejsza:)
                           
    String[] tokens = jeden.split("\\|");
     text1 = tokens[2];
        System.out.println(text1);


dawid

Offline

 

#5  2010-04-23 13:29:35

  0dd - Członek DUG

0dd
Członek DUG
Skąd: Kraków
Zarejestrowany: 2006-03-25

Re: Wrzucanie do stringa - według kryteriów

Twoje rozwiazanie zwraca " jest to fajny tekst ", a chciales by zwracalo "to jest tekst | bardzo krotki itd |" oraz " jest to fajny tekst | bardzo fajny".


apt-get install anarchism

Offline

 

#6  2010-04-23 13:56:56

  dawid77 - Użytkownik

dawid77
Użytkownik
Zarejestrowany: 2005-12-15

Re: Wrzucanie do stringa - według kryteriów

Tzn! tak - ale łącząc np tokens[0] i tokens[1] mam pierwsze założenie - tylko wrzucic do zmiennej i to samo z tokens[2] i tokens[3]
Ale mimo to dzięki! Nie wiedziałem że to split robi.

Ostatnio edytowany przez dawid77 (2010-04-23 13:57:18)


dawid

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
To nie jest tylko forum, to nasza mała ojczyzna ;-)