Visualizzazione dei risultati da 1 a 3 su 3

Hybrid View

  1. #1
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Il problema più grande è che la stringa non ha un pattern regolare:

    1) la prima informazione (balconi) è separata dai suoi valori tramite il carattere "due-punti", mentre lo stesso pattern non si vede nel resto delle informazioni (cucina e ingresso non sono separati dai rispettivi valori tramite i due punti).

    2) Il carattere "x" che tu interpreti come "simbolo di moltiplicazione" e il simbolo "+" sono essi stessi caratteri alfabetici (quindi di per sé è un separatore tra parte alfabetica e parte numerica).

    Se il tuo obiettivo è semplicemente separare i valori numerici dal resto (e non te ne frega molto del resto), allora puoi procedere in questo modo:

    codice:
    String miaStringa = "balconi:4,5x3,5+6x2,4cucina 4,5x4,8ingresso 1,5x6";
    Pattern p = Pattern.compile("(\\d+,{0,1}\\d*)");
    Matcher m = p.matcher( miaStringa );
    String stringaSeparata = m.replaceAll("|$1|");
    System.out.println( stringaSeparata );

    Ovviamente, la "x" (che viene usata come simbolo di moltiplicazione) e il "+" verranno separati dai numeri. Il precedente snippet di codice produce questo risultato:

    codice:
    balconi:|4,5|x|3,5|+|6|x|2,4|cucina |4,5|x|4,8|ingresso |1,5|x|6|

    Ciao.
    Ultima modifica di LeleFT; 30-12-2019 a 11:32
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  2. #2
    Grazie del tuo supporto Lele, in realta' come risultato vorrei avere il separatore tra l'ultimo numero e la la prima lettera successiva...una cosa del genere insomma:

    codice:
    String miaStringa="balconi:4,5x3,5+6x2,4|cucina 4,5x4,8ingresso 1,5x6|bagno...."
    Grazie ancora!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.