Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    errore ReplaceFirst (rispondere in caso di padronanza con le regex)

    Ciao il programma sottostante data una stringa , rappresentante una espressione
    lettere e parentesi, dovrebbe sostituire alla prima occorrenza di un blocco di parentesi considerato es (AB) una stringa chiave.

    se il blocco fosse: (AB)
    e la stringa Riga: (HJ(AB)(GH)(AB))
    dovrei avere come output
    (HJ°1°(GH)(AB))

    tuttavia il codice sottostante con replaceFirst va in loop,qualcuno mi può aiutare gentilmente a capire l'errore? e nel caso consigliare una idea alternativa????
    codice:
    	       Scanner in_Str=new Scanner(System.in);		
    		Pattern patternRiga     = Pattern.compile("([(]([A-Z0-9°]+)[)])");
    		String Riga     ="",Riga2="";
    		String blocco ="";
    		String espr2="";
    		int kB=1;
            StringTokenizer St ;
      
        do{     
    	   System.out.println("****************************************IMMETTI RIGA******************************************************");
    	    Riga=in_Str.nextLine();	
    
    	     while(Riga.contains("(")){	
    	      	 Matcher matcher = patternRiga.matcher(Riga);
    	      	       while( matcher.find() ){//finche ci sono parentesi elementari 
    	  			   	   	 blocco=matcher.group();  
    	  			   	   	 String chiave= "°".concat(String.valueOf(kB)).concat("°");
    	  			   	   	  //********* CALCOLO BLOCCO *********
    	  	         //replace    	   
    	  Riga2=Riga.replaceFirst(blocco,chiave);  //<---ERROREEEE!
             Riga=Riga2;  
    	  					 System.out.println(Riga);  
    	  					 kB++;
    	  		      }		
    	     }	
    	     
        }while(true);

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,480

    Moderazione

    Stai affrontando lo stesso problema in questa discussione, quindi non vedo perché aprirne un'altra.

    Ci tengo anche a farti presente che questa cosa ti è già stata detta, per cui alla prossima si provvede a segnalarti a chi di dovere.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

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 © 2026 vBulletin Solutions, Inc. All rights reserved.