Regexp

Status
Nicht offen für weitere Antworten.

Shai

Aktives Mitglied
hi

ich muss aus einer tokenliste diejenigen entfernen die vor einem semikolon stehen;
der Vektor sieht zb folgendermaßen aus:

[GEN001,026;, WAYYO)MER, )LOHIYM, NA(&EH, )FDFM]

Wie kann ich nun elemente aus diesem Vektor (egal an welcher Position sie stehen) rausnehmen, die die Form meines ersten eintrags haben? also dass sie direkt vor einem semikolon stehen.
hier soll zb der komplette eintrag "GEN001,026;2" aus der liste rausgenommen werden.

ich hab mal geschaut und regexp macht man bei java wohl mit pattern und matcher oder so, aber ich raff nicht so ganz wie ich das anwenden kann. ausserdem kenne ich mich mit regexp so gar nicht aus.

kann mir jemand sagen wie das aussehen muss?

Code:
for(int i = 0; i<tokenVector.size();++i)
    //if(tokenVector.get[i] match) 
          //deleteeintrag

wäre sehr dankbar wenn mir jemand den code mal eintragen könnte.
danke im voraus shai
 
S

SlaterB

Gast
Code:
public class Test
{

    public static void main(String[] args)
        throws Exception
    {
        String st = "[GEN001,026;, WAYYO)MER, )LOHIYM,;, NA(&EH, )FDFM]";
        Pattern p = Pattern.compile("[\\S&&[^\\[;]]+;");
        Matcher m = p.matcher(st);
        StringBuffer buffer = new StringBuffer();
        while (m.find())
        {
            System.out.println("f: "+m.group());
            m.appendReplacement(buffer, "");
        }
        m.appendTail(buffer);
        System.out.println(buffer.toString());
    }
}
 

Geeeee

Bekanntes Mitglied
Wie wäre es damit:
[HIGHLIGHT="Java"]
public static void main(String[] args) {
String s = "[GEN001,026;, WAYYO)MER, )LOHIYM,;, NA(&EH, )FDFM]";
Pattern pattern = Pattern.compile("[\\S&&[^\\[;]]+;");
Vector<String> tokens= new Vector<String>();
tokens.add(s);
StringBuffer buffer = new StringBuffer();
for (String token : tokens) {
buffer.append(pattern.matcher(token).replaceAll(""));
}
System.out.println(buffer.toString());
}
[/HIGHLIGHT]
Also ich möchte gerne auf das replaceAll hinaus. Ist das nicht augenscheinlich effizienter, als wenn der Matcher per Hand veranlasst wird das "gleiche" zu tun?
Aus aktuellem Anlass würde mich das interessieren, ob das eine oder andere Vorteile hat bzw. ob es einfach auf das gleiche hinaus läuft.
 
S

SlaterB

Gast
replaceAll vergesse ich meist, wobei ich mein Konstrukt auch höchstens in Beispielen verwende ;) :

wäre dann gekürzt:

Code:
public class Test
{
 
    public static void main(String[] args)
        throws Exception
    {
        String st = "[GEN001,026;, WAYYO)MER, )LOHIYM,;, NA(&EH, )FDFM]";
        Pattern p = Pattern.compile("[\\S&&[^\\[;]]+;");
        Matcher m = p.matcher(st);
        String st2 = m.replaceAll("");
        System.out.println(st2);
    }
}
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
D RegExp .txt-Datei einlesen Java Basics - Anfänger-Themen 6
L RegExp bzw Pattern in Java Java Basics - Anfänger-Themen 6
D Regexp einer Auflistung Java Basics - Anfänger-Themen 9
B RegExp in Java Java Basics - Anfänger-Themen 5
Y Regexp gesucht Java Basics - Anfänger-Themen 6
N Regexp Pattern & Matcher Problem Java Basics - Anfänger-Themen 4
R Regexp nur Buchstaben und Ziffener beliebig oft Java Basics - Anfänger-Themen 3
D Regexp Java Basics - Anfänger-Themen 3
D regexp-pattern .. letzter schliff Java Basics - Anfänger-Themen 6
M RegExp: String in Array Java Basics - Anfänger-Themen 7
Z regexp/pattern für dateipfad Java Basics - Anfänger-Themen 5
S RegEXP Java Basics - Anfänger-Themen 3
K RegExp - Problem Java Basics - Anfänger-Themen 4
G JAVA: RegExp Java Basics - Anfänger-Themen 3
C regexp gibt immer false aus Java Basics - Anfänger-Themen 4
G Suche RegExp Java Basics - Anfänger-Themen 4
Y Hilfe bei Pattern-Regexp Java Basics - Anfänger-Themen 5
lhein RegExp - Frage Java Basics - Anfänger-Themen 6
M RegExp mit "Untergruppen" - wie komme ich an die? Java Basics - Anfänger-Themen 4
G RegExp Java Basics - Anfänger-Themen 21
G Mittels RegExp "Variablen" extrahieren Java Basics - Anfänger-Themen 4
G Java Regex / Pattern etc. <-> Jakarta RegExp Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben