Kürzlich habe ich in meiner Arbeit einen Prozess implementiert, um mit Zeichenketten zu spielen.
Sample.java
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Split {
public static void main(String[] args) {
//Thema: Teilen Sie eine Zeichenfolge mit 10 Längen in 5 Blöcke mit jeweils 2 Zeichen
String sampleString = "0123456789";
List<String> splitedStringList = new ArrayList<String>();
Matcher m = Pattern.compile("[\\s\\S]{1,2}").matcher(sampleString);
while (m.find()) {
splitedStringList.add(m.group());
}
for (String element : splitedStringList) {
System.out.println(element); //01 23 45 76 89 wird mit einem Zeilenumbruch angezeigt
}
}
}
Wenn Sie den regulären Ausdruck voll ausnutzen, können Sie einen Prozess wie ↑ schreiben, der besagt, dass "es auf den ersten Blick etwas Cooles zu tun scheint".
Oder besser gesagt, ich habe diese Art der Implementierung zuerst gemacht.
Dies liegt daran, dass split () auf dem im Argument angegebenen Trennzeichen basiert, sodass Sie nicht "X Zeichen gleichzeitig" angeben können.
Allerdings von dem Vor-Ort-Leiter, der hinterher kam
"Soll ich Teilzeichenfolge () verwenden?"
Immerhin ist es genug, weil es nur die Zeichenketten mit einer supereinfachen Regel trennt. Die Idee, es während der Implementierung zu verwenden, kam jedoch überhaupt nicht auf. Es ist peinlich.
Selbst bei einer Implementierung sind viele Dinge zu beachten, z. B. die Verarbeitungsleistung und die Lesbarkeit des Codes ...
Es war nicht nur Java, sondern ein Fall, über den ich persönlich nachdenken sollte.
Recommended Posts