جافا تقسيم السلاسل
طريقة الانقسام () من java.lang.string ، JDK 1.4 أو أحدث
السلسلة العامة [] split (سلسلة regex ، int)
نموذج الرمز
STRINGSPLIT STRINGSPLIT {public static void main (string [] args) {String sourcestr = "1،2،3،4،5" ؛ String [] sourcestrarray = sourcestr.split ("،") ؛ لـ (int i = 0 ؛ i <sourcestrarray.length ؛ i ++) {system.out.println (sourcestrarray [i]) ؛ } // تقسيم ما يصل إلى 3 سلاسل int maxspleit = 3 ؛ sourcestrarray = sourcestr.split ("،" ، maxSplit) ؛ لـ (int i = 0 ؛ i <sourcestrarray.length ؛ i ++) {system.out.println (sourcestrarray [i]) ؛ }}}نتيجة الإخراج:
12345123،4،5
يقوم تطبيق Split مباشرة باستدعاء طريقة الانقسام لفئة المطابقة . عند استخدام طريقة string.split لتحديد السلاسل ، إذا كان المحدد يستخدم بعض الأحرف الخاصة ، فقد لا يحصل على النتائج التي توقعناها. يجب الهروب من الشخصيات ذات المعاني الخاصة في التعبيرات العادية عندما نستخدمها. مثال:
STRINGSPLIT STRINGSPLIT {public static void main (string [] args) {String value = "192.168.128.33" ؛ // لاحظ أنه يجب عليك إضافة // ، إما عدم الخروج ، نعم الأسماء [] لـ (int i = 0 ؛ i <names.length ؛ i ++) {system.out.println (names [i]) ؛ }}}ملخص فاصل الانقسام
1. يجب إضافة الشخصيات "|" ، "*" ، "+" مع الشخصيات التي هربت ، ويتم إضافة "//" أمامها.
2. إذا كان "/" ، فيجب كتابته باسم "////".
3. إذا كان هناك عدة محددات في سلسلة ، يمكنك استخدام "|" كما الواصلة.
على سبيل المثال: String str = "java string-split#test" ، يمكنك استخدام str.split ("|-|#") لفصل كل سلسلة. هذا يقسم السلسلة إلى 3 أسطوانات فردية.
java.util.tokenizer JDK 1.0 أو أحدث
StringTokenizer
تتيح فئة StringTokenizer للتطبيقات تقسيم الأوتار إلى الرموز. StringTokenizer هو فئة قديمة يتم الحفاظ عليها لأسباب توافق (على الرغم من أنه لا يتم تشجيعها في رمز جديد). يوصى بأن يستخدم كل من يبحثون عن هذه الميزة طريقة تقسيم سلسلة أو حزمة java.util.regex.
مثال رمز
STRINGSPLIT STRINGSPLIT {public static void main (string [] args) {String ip = "192.168.128.33" ؛ stringtokenizer token = new StringTokenizer (IP ، ".") ؛ بينما (token.hasmoreElements ()) {system.out.print (token.nextToken ()+"") ؛ }}}ومع ذلك ، من أجل تقسيم السلسلة "192.168..33" ، فإن صفيف السلسلة المرتجعة يحتوي على 3 عناصر فقط ، وسيتم تجاهل السلسلة الفارغة بين الفواصلين. يجب استخدام هذا بحذر.
ومع ذلك ، فإن string.split (string.split مطابقة مع تعبيرات منتظمة ، لذلك لا يستخدم خوارزمية مطابقة سلسلة KMP) الخوارزميات التي تعبر التسلسل ، مع تعقيد زمني عالي من O (M*n) ، لذلك من حيث الأداء ، يكون من الأفضل. بالنسبة للتطبيقات التي تستخدم تجزئة السلسلة بشكل متكرر ، مثل معالجة بيانات ETL ، يمكن تحسين أداء استخدام StringTokenizer كثيرًا.
شكرا لك على القراءة ، آمل أن تساعدك. شكرا لك على دعمك لهذا الموقع!