Ich muss einen Java-Code schreiben, um VBA7425IWC
zu ABV2457CIW
zu verdecken. Ich brauche Hilfe dabei. Wenn ich die Strings sortiere, sortieren sie nach ASCII-Werten und die Zahlen werden zu einem Chunk und die Alphabete zu einem anderen.Alphanumerische Subtrings Sortierung
0
A
Antwort
0
Ihre Frage ist in ihren Anforderungen ein wenig vage. Versuchen Sie, jeden einzelnen Teilstring von Zeichen und Zahlen zu sortieren?
In diesem Fall müssen Sie die Bereiche der einzelnen Teilstrings bestimmen, die durch eine Verschiebung von Zeichen zu Zahlen gekennzeichnet sind.
Sie können anhand des ASCII-Werts feststellen, ob ein Zeichen ein Buchstabe oder eine Zahl ist.
0
Hier ist eine Beispiellösung, die ich durch Unterteilung von Zeichenkettenintro numerischer und alphabetischer Teilstrings, die in Liste gespeichert sind, erreiche und dann sortiere und mit java 8 stream API reduziere.
String s = "VBA7425IWC";
List<String> mylist = new ArrayList<>();
StringBuilder subString = new StringBuilder();
for (int k = 0; k < s.length() - 1; k++) {
subString.append(s.charAt(k));
if ((Character.isDigit(s.charAt(k + 1))
&& Character.isAlphabetic(s.charAt(k))) ||
(Character.isDigit(s.charAt(k))
&& Character.isAlphabetic(s.charAt(k + 1)))) {
mylist.add(subString.toString());
subString.setLength(0);
}
}
mylist.add(subString.append(s.charAt(s.length() - 1)).toString());
System.out.println(mylist);
String finalResult = mylist
.stream()
.map((myString) -> {
char[] charArr = myString.toCharArray();
Arrays.sort(charArr);
return new String(charArr);
})
.reduce("", (s1, s2) -> s1 + s2);
1
Dieser verwendet Regex. Möglicherweise müssen Sie das Muster so anpassen, dass es Kleinbuchstaben enthält:
import java.util.Arrays;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class SplitRegex {
public static void main(String[] args) {
// The search string
String str = "VBA7425IWC";
// The Regular expression (Finds {word} tokens)
Pattern pt = Pattern.compile("[A-Z]+|[0-9]+");
// Match the string with the pattern
Matcher m = pt.matcher(str);
String result = "";
// If results are found
while (m.find()) {
char[] chArray = m.group(0).toCharArray();
Arrays.sort(chArray);
result += new String(chArray);
}
System.out.println(result);
}
}
Verwandte Themen
- 1. Sortierung dict Artikel von Schlüssel, über alphanumerische Sortierung
- 2. Alphanumerische Sortierung in Excel mit VBA
- 3. Alphanumerische Sortierung in Sql Server 2008
- 4. SOLR - alphanumerische Sortierung mit Alphabeten zuerst
- 5. Rubin alphanumerische Sortierung nicht wie erwartet funktioniert
- 6. SQL - Sortierung alphanumerische Werte, die in Englisch und Japanisch sind
- 7. SSRS-Sortierung für ein Datumsfeld, das alphanumerische Zeichen enthält
- 8. So wenden Sie eine alphanumerische Sortierung in XSLT an
- 9. Sortieren Alphanumerische Zeichenfolge Absteigend
- 10. Alphanumerische Zeichenfolge in Ganzzahl konvertieren?
- 11. Alphanumerische Validierung
- 12. Python alphanumerische
- 13. C# Konvertieren Alphanumerische Telefonnummer
- 14. Regex nur erlauben alphanumerische
- 15. Alphanumerische Auflistung geordneter Listen?
- 16. Generierung alphanumerische Sequenz Javascript
- 17. Java Regex Alphanumerische Übereinstimmung
- 18. alphanumerische Validierung nicht
- 19. nur alphanumerische erlauben Werte
- 20. NSSortDescriptor benutzerdefinierte alphanumerische Reihenfolge
- 21. Schienen - Alphanumerische Feldvalidierung
- 22. Automatisch alphanumerische ID generieren
- 23. Regex alphanumerische mit Sonderzeichen
- 24. Codegenerator: Alphanumerische ID generieren
- 25. Alphanumerische Sequenz in Ruby generieren
- 26. Delphi Array Elemente alphanumerische Sortierreihenfolge?
- 27. Wie alphanumerische Zeichenfolge in Jmeter
- 28. Benutzerdefinierte alphanumerische Werte in chart.js?
- 29. Regex für gemischte alphanumerische Zeichenfolgen
- 30. Regex für alphanumerische, -, _ und Leerzeichen