සුදුසු ක්රමය භාවිතා කරන්න : String#split().
String string = "004-034556";
String[] parts = string.split("-");
String part1 = parts[0]; // 004
String part2 = parts[1]; // 034556
මෙය නිත්ය ප්රකාශනයක් අවශ්ය බව සලකන්න , එබැවින් අවශ්ය නම් විශේෂ අක්ෂර වලින් ගැලවීමට මතක තබා ගන්න .
එහි ඇති ඇල ඉර: විශේෂ අර්ථ සමග අක්ෂර 12 ක් \, බැධී ^ඩොලරය ලකුණක් $, මෙම කාල හෝ තිතක් ., සිරස් තීරුව හෝ නල සංකේතය |, ප්රශ්නය ලකුණ ?එම තරු ලකුණ හෝ තරු *, ධන ලකුණ +, විවෘත වරහන (, භාරගන්නා අවසන් වරහන ), සහ ආරම්භක හතරැස් වරහන [, ආරම්භක වක්ර වරහන {, මෙම විශේෂ අක්ෂර බොහෝ විට "මෙටාචරැක්ටර්ස්" ලෙස හැඳින්වේ.
ඒ නිසා, ඔබ උදා කාලය / තිතක් මත බෙදී කිරීමට අවශ්ය නම් ."යන අරුත ඇති ' ඕනෑම චරිතයක් regex දී", භාවිත කිරීම හෝ පසු ඇල ඉර\ එසේ වැනි තනි විශේෂ චරිතයක් පැන split("\\."), හෝ භාවිතා චරිතය පන්ති[] එසේ වගේ ප්රායෝගික චරිතය (ව) නියෝජනය කිරීමට split("[.]"), හෝ භාවිතා Pattern#quote()කිරීමට මුළු නූලෙන් එලෙසම පැන යන්න split(Pattern.quote(".")).
String[] parts = string.split(Pattern.quote(".")); // Split on period.
නූලෙහි යම් අක්ෂර (ය) අඩංගු දැයි කල්තියා පරීක්ෂා කිරීම සඳහා භාවිතා කරන්න String#contains().
if (string.contains("-")) {
// Split it.
} else {
throw new IllegalArgumentException("String " + string + " does not contain -");
}
සටහන, මෙය සාමාන්ය ප්රකාශනයක් නොගනී. ඒ සඳහා භාවිතා String#matches()කරන්න.
එහි ප්රති parts ලයක් වශයෙන් ඇති කොටස්වල බෙදීම් ස්වභාවය රඳවා ගැනීමට ඔබ කැමති නම්, ධනාත්මක පෙනුමක් භාවිතා කරන්න . ඔබට බෙදීම් චරිතය වම් අතෙහි කෙළවර වීමට අවශ්ය නම් ?<=, රටාව මත කණ්ඩායම් උපසර්ගයක් මඟින් ධනාත්මක බැල්මක් භාවිතා කරන්න .
String string = "004-034556";
String[] parts = string.split("(?<=-)");
String part1 = parts[0]; // 004-
String part2 = parts[1]; // 034556
බෙදීම් චරිතය දකුණු පැත්තේ කෙළවර වීමට ඔබට අවශ්ය නම් ?=, රටාව මත සමූහය උපසර්ග කිරීමෙන් ධනාත්මක පෙනුම භාවිතා කරන්න .
String string = "004-034556";
String[] parts = string.split("(?=-)");
String part1 = parts[0]; // 004
String part2 = parts[1]; // -034556
එහි ප්රති ing ලයක් ලෙස ලැබෙන කොටස් ගණන සීමා කිරීමට ඔබ කැමති නම්, ඔබට split()ක්රමයේ 2 වන තර්කය ලෙස අපේක්ෂිත අංකය සැපයිය හැකිය .
String string = "004-034556-42";
String[] parts = string.split("-", 2);
String part1 = parts[0]; // 004
String part2 = parts[1]; // 034556-42