Frage zur methode CharAt

Bonsai

Bekanntes Mitglied
Hi Leute,
ich hätte mal ne Frage zu der Methode CharAt. Und zwar würde mich mal interessieren, ob es eine Möglichkeit gibt an die Methode eine Menge von Cahrs zu übergeben auf die Untersucht werden soll. Also nach dem Motto, auf einen der folgenden Chars prüfen. Weil so wie ich mir das erst gedacht hab funzt es leider nicht:
Java:
count.charAt(i) == ('0'|'1'|'2'|'3'|'4'|'5'|'6'|'7'|'8'|'9')
ich weiß das es funktioniert wenn ich alles einzeln ausschreiben würde und das dann jeweils mit nem oder verknüpfe, aber wollt eventuell mal schauen ob es ne elegantere Lösung gibt :)

Danke schon mal für eure Hilfe

Gruß
Bonsai
 

Landei

Top Contributor
Was genau willst du tun? [c]charAt(n)[/c] liefert den n-ten Buchstaben in einem String, also [c]"Hallo".charAt(1)[/c] wäre [c]'a'[/c]. Um zu testen, ob ein [c]char[/c] eine Ziffer ist, gibt es die Methode [c]Character.isDigit(ch)[/c].
 

Bonsai

Bekanntes Mitglied
ok um das genauer zu präzisieren. ich habe eine Text Datei gegeben. und nun möchte is wissen, wie oft der substring "\ls" + einer beliebigen Zahl vorkommt. dazu lasse ich den Text mithilfe von charat wie folgt prüfen:
Java:
count.charAt(i) == '\\' && count.charAt(i+1) == 'l' && count.charAt(i+2) == 's'
nun müssste ich als letztes noch auf die beliebige Zahl prüfen lassen, aber dann zu schreiben :
Java:
... && (count.charAt(i+3) == '0' | count.charAt(i+3) == '1' | count.charAt(i+3) == '2' |...)
ist mir einfach zu lang. Zudem finde ich auch dass das nicht grad besonders guter Programmierstil ist. Kann mich natürlich auch täuschen. und wenn das der einzige weg ist, dann muss ich es halt so machen
 

faetzminator

Gesperrter Benutzer
Da würde mir nichts besseres als das einfallen:
Java:
Matcher m = Pattern.compile("\\\\ls").matcher(input);
int count = 0;
while (m.find()) {
    count++;
}
 

bERt0r

Top Contributor
Da bist du mit String.split besser bedient, musst dir aber wohl Reguläre Ausdrücke ansehen (deiner ist zumindest recht einfach). Mit deinen charAt(i+2) ausdrücken, sprengst du nämlich leicht mal die Arraygrenzen, wenn du nicht aufpasst. Ausserdem ist es wie du selbst sagst kein guter Stil.
Edit: mist zu spät :D
 

Matix23

Mitglied
Da würde mir nichts besseres als das einfallen:
Java:
Matcher m = Pattern.compile("\\\\ls").matcher(input);
int count = 0;
while (m.find()) {
    count++;
}

Sehe ich genauso. Habe ihm gerade die selbe Lösung gesendet ;)

Java:
public static void checkFileForString(String filePath) throws FileNotFoundException, IOException {

		String line = null;

		try {
			File file = new File(filePath);
			FileReader fileReader = new FileReader(file);
			BufferedReader bufferedReader = new BufferedReader(fileReader);
			
			while ((line = bufferedReader.readLine()) != null) {
				int i = 0;
				Pattern pattern = Pattern.compile("([0-9]*)(\\\\ls)([0-9]*)");
				Matcher matcher = pattern.matcher(line);

				while (matcher.find()) {
					System.out.println("String found: (" + line.substring(matcher.start(), matcher.end()) + ")");
					i++;
				}
				System.out.println(i + "mal gefunden!");
			}
			System.out.println();
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
 
Zuletzt bearbeitet:

faetzminator

Gesperrter Benutzer
naja
Java:
text.split("\\\\ls").length
aber deine Methode ist viel schöner und angemessener.

Da sei aber noch anzumerken, dass diese Lösung nicht immer funktioniert. Wie bereits in anderen Threads angesprochen, verhält sich [c]split()[/c] etwas "speziell", wenn der zu suchende Substring am Schluss der Linie steht:
Java:
System.out.println("foobar".split("\\\\ls").length - 1); // 0 - ok
System.out.println("foo\\lsbar".split("\\\\ls").length - 1); // 1 - ok
System.out.println("\\lsfoobar".split("\\\\ls").length - 1); // 1 - ok
System.out.println("foobar\\ls".split("\\\\ls").length - 1); // 0 - NOK!
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Frage zur Methode split der Klasse String Java Basics - Anfänger-Themen 32
J Methoden Frage: Array-Werte in anderer Methode ändern Java Basics - Anfänger-Themen 4
JD_1998 Array-Position aus einer Methode in einer anderen ausgeben (Kurze Frage) Java Basics - Anfänger-Themen 2
NeoLexx equals()-Methode Verständnis Frage anhand Code Beispiel Java Basics - Anfänger-Themen 22
H Frage zu Parameter einer Methode Java Basics - Anfänger-Themen 2
H Einfache Frage zur Punktnotation objektname.methode(wert) Java Basics - Anfänger-Themen 2
H Frage zu Parameter einer Methode Java Basics - Anfänger-Themen 3
B Rekursion Schneeflocke - Kurze Frage zur Methode Java Basics - Anfänger-Themen 11
M Frage zu HashCode Methode in Java Java Basics - Anfänger-Themen 7
M Frage zur Methode showMessageDialog Java Basics - Anfänger-Themen 3
A Frage zu einer Methode - Panel arbeitet nicht ordnungsgemäß Java Basics - Anfänger-Themen 2
A Frage Methode ggt Rekursiv Java Basics - Anfänger-Themen 5
M Frage zu main Methode Java Basics - Anfänger-Themen 11
R Frage zu statischer Methode toString() Java Basics - Anfänger-Themen 3
M Frage zur Methode Action.putValue(String,Object) Java Basics - Anfänger-Themen 5
M Frage zur Methode Thread.sleep() Java Basics - Anfänger-Themen 6
A Frage zu einer Methode Java Basics - Anfänger-Themen 20
U Frage über return Methode Java Basics - Anfänger-Themen 4
E Frage zur Methode size() der Klasse ZipFile Java Basics - Anfänger-Themen 2
B Frage zur Methode Java Basics - Anfänger-Themen 2
J Frage zu einer Methode Java Basics - Anfänger-Themen 2
C Frage zu negativen und positiven Exponenten in rekursiver Methode Java Basics - Anfänger-Themen 11
S Frage zur paint-Methode Java Basics - Anfänger-Themen 3
J Methode, Allgemeine Frage Java Basics - Anfänger-Themen 5
M Frage zu Erstellung von Methode Java Basics - Anfänger-Themen 17
H Frage zur Methode: actionPerformed Java Basics - Anfänger-Themen 2
J Java Frage zur Methode Java Basics - Anfänger-Themen 14
R frage zur read()-Methode des BufferedReader Java Basics - Anfänger-Themen 2
D Frage zum Aufruf einer toString-Methode Java Basics - Anfänger-Themen 2
G Frage zu der Methode first() bei SortedSet Java Basics - Anfänger-Themen 2
A Stack, Frage zur Methode push Java Basics - Anfänger-Themen 4
G Frage zu Finalize - Methode Java Basics - Anfänger-Themen 4
M Frage zu List.toArray()-Methode Java Basics - Anfänger-Themen 4
Zrebna Frage zu Test-Driven Development (TDD) Java Basics - Anfänger-Themen 3
I Frage Thymeleaf -> Fehler ignorieren und mit "" ersetzen? Java Basics - Anfänger-Themen 15
I Frage Thymeleaf -> Prefix / Suffix ändern? Java Basics - Anfänger-Themen 11
D Rekursions Probleme / frage Java Basics - Anfänger-Themen 4
T Frage zu Parse Java Basics - Anfänger-Themen 2
H Frage an die Profis Java Basics - Anfänger-Themen 4
J Eine konzeptionelle Frage zu OOP Java Basics - Anfänger-Themen 3
P Frage zu Rekursion und Backtracking Java Basics - Anfänger-Themen 2
H Frage zur Ausgabe Java Basics - Anfänger-Themen 4
H Frage zu arithmetischen Operationen Java Basics - Anfänger-Themen 20
F Kurze Frage zu replace() Java Basics - Anfänger-Themen 19
JavaSchmecktLecker Polymorphie Frage zur Methodenüberschreibung Java Basics - Anfänger-Themen 21
J Frage zu einem "Taschenrechner" code Java Basics - Anfänger-Themen 9
B Erste Schritte Frage zu Instanzierung und Referenzen Java Basics - Anfänger-Themen 8
DoubleM Runtime.getRuntime().exec Frage Java Basics - Anfänger-Themen 2
J Eine theoretische Frage zur Praxis - JPanel oder Canvas Java Basics - Anfänger-Themen 5
O Frage: Formaler Typbezeichner? Java Basics - Anfänger-Themen 3
I BlueJ Queue Frage für Klausur Java Basics - Anfänger-Themen 2
N Verständnis Frage zu Variablen Java Basics - Anfänger-Themen 3
N Spezielle frage zum Comparator Java Basics - Anfänger-Themen 6
L Frage zum Array Java Basics - Anfänger-Themen 1
A Frage zum UML Design Java Basics - Anfänger-Themen 1
I Hilfe bei Klausur Frage Java Basics - Anfänger-Themen 8
izoards Drucken Frage zu FAQ Beitrag Java Basics - Anfänger-Themen 2
J Frage zu meinem Code (OOP) Java Basics - Anfänger-Themen 4
sserio Split() -> Regex Frage. Java Basics - Anfänger-Themen 7
A OCA Study Guide: 2. Frage aus Kapitel 3 Java Basics - Anfänger-Themen 9
sserio Date Library Frage Java Basics - Anfänger-Themen 9
Max246Sch Frage zu Währungsrechner Code Java Basics - Anfänger-Themen 2
sserio Frage zu HashMaps Java Basics - Anfänger-Themen 20
sserio Frage zu Threading - Multithreading Java Basics - Anfänger-Themen 2
sserio Frage zu Lambda Ausdrücken Java Basics - Anfänger-Themen 7
sserio Frage zu BigInteger Java Basics - Anfänger-Themen 1
D Frage bzgl. Enum-Handhabung Java Basics - Anfänger-Themen 16
xxx12 Frage Java Basics - Anfänger-Themen 2
I Generelle Frage zu Mikroservices (Spring Boot?), Docker... Java Basics - Anfänger-Themen 7
R Frage zu Methoden (Rückgabewert u. ohne.) Java Basics - Anfänger-Themen 2
A Frage zur programmierung Java Basics - Anfänger-Themen 12
R Input/Output Frage zu Java IO Java Basics - Anfänger-Themen 6
M Frage zu printWriter Java Basics - Anfänger-Themen 5
C Frage zu OLSMultipleLinearRegression Java Basics - Anfänger-Themen 31
KogoroMori21 Frage zum Euklidischen Algorithmus Java Basics - Anfänger-Themen 11
S Verständnis-Frage zu einer HÜ? Java Basics - Anfänger-Themen 1
F Frage betreff Programm mit dem man C++-Code in JAVA-Code übersetzen lassen kann Java Basics - Anfänger-Themen 2
L Frage zur Ticket Maschine Java Basics - Anfänger-Themen 1
J Frage zu OOP-Klassendiagramm Java Basics - Anfänger-Themen 8
OSchriever Frage zu Compiler Java Basics - Anfänger-Themen 8
H Frage zu Throw Exception Java Basics - Anfänger-Themen 2
TimoN11 Frage zu Java-Vererbung (Cast) Java Basics - Anfänger-Themen 5
Bademeister007 Hallo Leute ich hab eine Frage zur ArrayList Java Basics - Anfänger-Themen 8
F Frage betreff Programmierbücher zu Lagerverwaltung als Konsolenprogramm Java Basics - Anfänger-Themen 3
dieter000 Kurze Frage kann mir ejmand kurz diesen Code erklären, bzw wie man die zeilen erklärt und so Java Basics - Anfänger-Themen 1
I String.split regex Frage Java Basics - Anfänger-Themen 2
N Best Practice Frage zum MVC-Pattern Java Basics - Anfänger-Themen 2
dieter000 Frage zu einem Beispiel... Java Basics - Anfänger-Themen 5
J Frage zum Loggen Java Basics - Anfänger-Themen 18
Zrebna Frage zum "Referenzen-konzept" in Java Java Basics - Anfänger-Themen 8
marcooooo Frage zu bestimmten Beispiel Java Basics - Anfänger-Themen 31
N Input/Output Eine Frage über system.out.println. Java Basics - Anfänger-Themen 10
B Erste Schritte Learning Coding (!) Frage an erfahrene Programmierer. Java Basics - Anfänger-Themen 23
M konzeptuelle Frage: In welcher Klasse definiert man am Besten Methoden, die die Kommunikation mit dem User regeln? Java Basics - Anfänger-Themen 8
B Frage zum Code verständnis im Resultat Java Basics - Anfänger-Themen 10
C Exception-Frage Java Basics - Anfänger-Themen 3
J Eine Frage zur Schreibweise == ? : Java Basics - Anfänger-Themen 3
S Frage des Designs Java Basics - Anfänger-Themen 1
JavaTalksToMe Extends/Implements Frage Java Basics - Anfänger-Themen 3
pkm Frage zu Servletfunktion Java Basics - Anfänger-Themen 0

Ähnliche Java Themen

Neue Themen


Oben