Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    64

    trovare cifre dentro stringa

    Devo fare una ricerca di una stringa all'interno di una stringa, la particolarità è che devo cercare un numero.
    Codice PHP:
    public class prova {

        private static final 
    String REGEX "1";
        private static final 
    String INPUT "12 15 20 33 40 ";

        public static 
    void main(String[] args) {
           
    Pattern p Pattern.compile(REGEX);
           
    Matcher m p.matcher(INPUT); 
           
    int count 0;
           while(
    m.find()) {
               
    count++;
               
    System.out.println(count);
               
           }
        }

    Il problema sta nel fatto che in questo caso ad esempio se devo cercare "1" mi trova anche 12 e 15 invece io vorrei che non trovasse nulla. Non sono esperto di espressioni regolari, che via potrei seguire?
    Grazie

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: trovare cifre dentro stringa

    Originariamente inviato da geggino
    Non sono esperto di espressioni regolari, che via potrei seguire?
    Se i numeri sono tutti separati da "whitespace" in generale, potresti spezzare la stringa (con split() di String che usa una regex oppure con StringTokenizer o con Scanner) e ottenere i singoli token "12", "15" ecc... Verificare se uno di questi token è esattamente "1" a quel punto è banale.

    Se invece vuoi cercare esattamente un numero "1" nella stringa con una regex, allora si può anche fare ma devi pensare una regex che dica "un carattere 1 a cui a fianco non ci siano altri numeri".

    Una soluzione è un "word boundary", la regex è "\\b1\\b"
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    64
    Grazie ho risolto con il word boundary.
    Devo cercare una guida o un manuale chiaro sulle espressioni regolari perché ci ho capito ben poco.

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.