Bonjour Je veux obtenir des informations à partir d'une chaîne avec motif répétitif en elle. Par exemple:Comment obtenir des informations à partir d'une chaîne avec un motif répété?
Matematika 1 # 1 # 0 @ Fizika 1 # 1 # 6 @ osnovi na injenernoto proektirane 1 # 1 # 5 @ PIK 1 # 1 # 6 @ Matematika 2 # 2 # 6 @ Fizika 2 # 2 # 6 @ osnovi na proektirane 2 # 2 # 4 @
J'ai essayé avec:
Pattern pattern1 = Pattern.compile("(.+)[@]+");
Pattern pattern2 = Pattern.compile("((.+)[#]+(\\d)[#]+(\\d)[@])+");
Matcher matcher1 = pattern1.matcher("Matematika 1#1#[email protected] 1#1#[email protected] na injenernoto proektirane 1#1#[email protected] 1#1#[email protected] 2#2#[email protected] 2#2#[email protected] na injenernoto proektirane 2#2#[email protected]");
Matcher matcher2 = pattern2.matcher("Matematika 1#1#[email protected] 1#1#[email protected] na injenernoto proektirane 1#1#[email protected] 1#1#[email protected] 2#2#[email protected] 2#2#[email protected] na injenernoto proektirane 2#2#[email protected]");
while(matcher1.find()){
System.out.println(matcher1.group(1));
while (matcher2.find()){
System.out.println(matcher2.group(1) + "\t");
System.out.println(matcher2.group(1) + "\t");
System.out.println(matcher2.group(1) + "\t");
}
}
mais ça ne fonctionnait pas. "pattern2" fonctionne bien, mais seulement si la chaîne source est: "Matematika 1 # 1 # 0 @" .... Cela a conduit à l'idée de deux matchers. Un pour diviser la chaîne en petites chaînes, et le second pour obtenir l'info.
Je serai heureux d'entendre toutes sortes d'idées, sur la façon dont je peux le faire.
Merci d'avance.
est une chaîne. partager une option? – oschlueter
Plutôt pas. Je dois sauvegarder les données de la chaîne dans un tableau bidimensionnel et je ne pense pas que ce serait vraiment pratique de créer des tableaux avec split et de les placer dans mon tableau. – Altair
Que voulez-vous exactement de cette chaîne? – Szymon