Maison > Questions et réponses > le corps du texte
Par exemple, il existe des chaînes comme celle-ci :
H3C18,
H301C108
Comment séparer en
H3 et C18,
H301 et C108
黄舟2017-05-17 10:01:34
Les expressions régulières semblent répondre aux besoins
import java.util.LinkedList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test {
public static void main(String[] args) {
System.out.println(tokens("H3C18"));
System.out.println(tokens("H301C108"));
}
private static final Pattern PATTERN = Pattern.compile("[a-zA-Z]\d+");
public static List<String> tokens(String text) {
List<String> result = new LinkedList<>();
Matcher matcher = PATTERN.matcher(text);
while (matcher.find()) {
result.add(matcher.group(0));
}
return result;
}
}
Sortie
[H3, C18]
[H301, C108]
仅有的幸福2017-05-17 10:01:34
La règle est "C", faites-en des histoires, ce n'est pas difficile, pensez-y
PHP中文网2017-05-17 10:01:34
S'il vous plaît, ne soyez pas un imbécile. De tels problèmes sont tous des problèmes qui peuvent être résolus en vérifiant l'API
Réfléchissez davantage et faites plus de progrès
L'idée est de couper la chaîne et de trouver l'index correspondant au caractère.