Hallo, ich habe einen String der über einen Label dargestellt wird. In diesem String sind Zahlen. Nun möchte ich dass bei Knopfdruck die Zahlen entfernt werden die doppelt oder mehrfach vorkommen. Ist das irgendwie möglich? Schonmal Danke im voraus.
Hier soweit mein Code:
Java:
importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjavax.swing.JButton;importjavax.swing.JFrame;importjavax.swing.JLabel;importjavax.swing.JPanel;publicclass test extendsJFrameimplementsActionListener{privateJPanel panel;privateJLabel label;privateJButton ok;privateString str;publictest(){
panel =newJPanel();
ok =newJButton("OK");
ok.addActionListener(this);
str ="3323232";
label =newJLabel(str);
panel.add(ok);
panel.add(label);add(panel);pack();setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setVisible(true);}publicstaticvoidmain(String[] args){newtest();}@OverridepublicvoidactionPerformed(ActionEvent arg0){}}
Das heißt aus "3323232" soll "323232" werden? oder soll das zu "23" werden? werde bitte entwas genauer.
Alles in allem würde ich aber grundsätzlich den String in ein char-Array packen und dort dann drüberlaufen. alles was entfernt werden soll kann dann mit einem bestimmten zeichen wie etwa '_' gesetzt werden. dann daraus wieder nen string und über .replaceAll("_","") alle '_' entfernen.
ich muss zugeben dass ich nicht sooo viel mit regex arbeite, aber ich persönlich finde "/(\d)\1+/gm" ist jetzt nicht der einfachste Regex-ausdruck
Die zweite variante müsste man schon "per hand" machen. also über jedes zeichen rüberlaufen und dann entscheiden. Möglich wäre zeichen für zeichen drüberzugehen, und jedes zeichen das im endstring nicht vorhanden ist das entsprechende zeichen anhängen. Ich denke hier wäre der StingBuilder interessant
Er ist nicht so ganz einfach, das stimmt schon, aber im vergleich zu Regex, die IP-Addressen, E-Mail Addressen oder Kreditkartennummern prüfen ist er noch recht simpel
Gut, da würde ich dann auch eher dazu neigen das "per hand" zu machen. Aber ich denke irgentwann werde ich mir das auch noch zu gemüte führen, ist dann warscheinlich einfacher. Reguläre ausdrücke haben ja auch oft die angewohnheit deutlich komplizierter auszusehen als sie eigentlich sind