5 طرق لمعالجة الجمل في جافا

جدول المحتويات:

5 طرق لمعالجة الجمل في جافا
5 طرق لمعالجة الجمل في جافا

فيديو: 5 طرق لمعالجة الجمل في جافا

فيديو: 5 طرق لمعالجة الجمل في جافا
فيديو: الدرس السابع : سماحيات و صلاحيات المستخدمين User privileges & Permissions 2024, أبريل
Anonim

السلاسل هي تسلسل من الأحرف. على سبيل المثال ، "مرحبًا!" هي سلسلة لأنها تتكون من الأحرف "H" و "e" و "l" و "l" و "o" و "!". في Java ، السلاسل عبارة عن كائنات ، مما يعني أن هناك فئة String تحتوي على حقول وطرق. يمكننا استخدام طرق فئة String لمعالجة السلاسل النصية.

خطوات

الطريقة 1 من 5: إنشاء سلسلة

3016567 1 1
3016567 1 1

الخطوة 1. قم بإنشاء سلسلة باستخدام مُنشئ فئة String

    String str = سلسلة جديدة ("مرحبًا!") ؛

3016567 2 1
3016567 2 1

الخطوة 2. قم بإنشاء سلسلة عن طريق تعيين سلسلة مباشرة

3016567 3 1
3016567 3 1

الخطوة 3. جرب مثالا

إليك نموذج برنامج يقوم بإنشاء سلسلة بطريقتين مختلفتين.

    فئة عامة StringManipulation {public static void main (String args) {String str1 = new String ("String المنشأة باستخدام منشئ!")؛ String str2 = "سلسلة مكونة بدون مُنشئ!"؛ System.out.println (str1) ؛ System.out.println (str2) ؛ }}

الطريقة 2 من 5: أوجد طول سلسلة

الخطوة الأولى. افهم معنى إيجاد طول السلسلة

طول السلسلة هو عدد الأحرف التي تحتوي عليها السلسلة. على سبيل المثال ، طول السلسلة "Hello!" هو 6 لأنه يحتوي على 6 أحرف.

3016567 5 1
3016567 5 1

الخطوة 2. استدعاء

الطول()

على كائن String وتخزين النتيجة في متغير عدد صحيح.

    int strLength = str.length () ،

3016567 6 1
3016567 6 1

الخطوة 3. جربها

هنا نموذج برنامج يجد طول سلسلة.

    فئة عامة StringManipulation {public static void main (String args) {String str = "Hello!"؛ int strLength = str.length () ؛ System.out.println ("طول \" + str + "\" هو "+ strLength +". ")؛ }}

طريقة 3 من 5: عكس سلسلة

3016567 7
3016567 7

الخطوة الأولى. فهم ما يعنيه عكس السلسلة

يعني عكس السلسلة تبديل ترتيب الأحرف في السلسلة. على سبيل المثال ، عكس السلسلة "Hello!" هو "! olleH". هناك العديد من الطرق لعكس سلسلة في Java.

3016567 8 1
3016567 8 1

الخطوة 2. استخدم الطريقة العكسية لفئة StringBuffer

قم بإنشاء كائن StringBuffer يأخذ السلسلة التي تريد عكسها كمعامل. استخدم أسلوب () العكسي في StringBuffer ثم قم باسترداد السلسلة المعكوسة حديثًا باستخدام طريقة toString ().

    فئة عامة StringManipulation {public static void main (String args) {String str = "Hello!"؛ StringBuffer عازلة = StringBuffer جديد (str) ؛ String reverseStr = buffer.reverse (). toString () ؛ System.out.println ("عكس السلسلة \" "+ str +" / "هو \" "+ reverseStr +" / ".")؛ }}

3016567 9 1
3016567 9 1

الخطوة 3. كرر خلال الأحرف في سلسلة ما في الاتجاه المعاكس ، مع إلحاق هذه الأحرف بـ StringBuffer في كل تكرار

قم بإنشاء كائن StringBuffer جديد تمت تهيئته بطول السلسلة التي ترغب في عكسها كمعامل. ثم استخدم حلقة for للتكرار خلال السلسلة ، بدءًا من الحرف الأخير في السلسلة وانتهاءً بالحرف الأول في السلسلة. في كل تكرار ، قم بإلحاق الحرف الموجود في هذا الفهرس بـ StringBuffer. استرجع السلسلة المعكوسة حديثًا باستخدام طريقة toString ().

    فئة عامة StringManipulation {public static void main (String args) {String str = "Hello!"؛ المخزن المؤقت StringBuffer = StringBuffer جديد (str.length ()) ؛ لـ (int i = str.length () - 1 ؛ i> = 0 ؛ i--) {buffer.append (str.charAt (i)) ؛ } String reverseStr = buffer.toString () ، System.out.println ("عكس السلسلة \" "+ str +" / "هو \" "+ reverseStr +" / ".")؛ }}

3016567 10 1
3016567 10 1

الخطوة 4. اكتب دالة تكرارية لعكس السلسلة

في الدالة العودية ، تكون الحالة / الشرط الأساسي إذا كانت السلسلة فارغة أو إذا كان طول السلسلة أقل من أو يساوي لا شيء. خلاف ذلك ، يتم استدعاء الطريقة العكسية مرة أخرى مع السلسلة مطروحًا منها الحرف الأول ، ويتم وضع الحرف الأول في النهاية. لذلك إذا مررنا في السلسلة النصية "Hello!" ، فإن أول استدعاء () عكسي بعد ذلك سيكون له المعامل "ello!".

    فئة عامة StringManipulation {public static void main (String args) {String str = "Hello!"؛ String reverseStr = reverse (str) ؛ System.out.println ("عكس السلسلة \" "+ str +" / "هو \" "+ reverseStr +" / ".")؛ } عكسي السلسلة الثابتة الخاص (String str) {if (str == null || str.length () <= 1) return str؛ عودة للخلف (str.substring (1)) + str.charAt (0) ؛ }}

3016567 11 1
3016567 11 1

الخطوة 5. قم بتحويل السلسلة إلى مصفوفة من الأحرف ثم قم بتبديل الأول والأخير ، والثاني والثاني إلى الأخير ، إلخ

الشخصيات. قم أولاً بتحويل السلسلة إلى مصفوفة من الأحرف باستخدام طريقة toCharArray () على السلسلة. احصل على فهرس الحرف الأخير في المصفوفة ، والذي يساوي طول المصفوفة ناقص واحد. ثم كرر خلال المصفوفة ، مبادلة iذ حرف و indexOfLastChar - أناذ حرف في كل تكرار. أخيرًا ، قم بتحويل مصفوفة الأحرف مرة أخرى إلى سلسلة.

    فئة عامة StringManipulation {public static void main (String args) {String str = "Hello!"؛ char charArray = str.toCharArray ()؛ int indexOfLastChar = charArray.length - 1 ؛ لـ (int i = 0؛ i <charArray.length / 2؛ i ++) {char temp = charArray ؛ charArray = charArray [indexOfLastChar - i] ؛ charArray [indexOfLastChar - i] = temp ؛ } String reverseStr = new String (charArray) ؛ System.out.println ("عكس السلسلة \" "+ str +" / "هو \" "+ reverseStr +" / ".")؛ }}

3016567 12 1
3016567 12 1

الخطوة 6. مراجعة الإخراج الخاص بك

هنا هو الناتج الناتج عن أي من هذه الطرق لعكس السلسلة.

الطريقة 4 من 5: قص مسافة بيضاء في سلسلة

3016567 13
3016567 13

الخطوة الأولى. افهم معنى قص المسافة البيضاء في سلسلة

يعني قص سلسلة في Java إزالة المسافة البيضاء السابقة واللاحقة في السلسلة. على سبيل المثال ، إذا كانت لديك السلسلة"

مرحبا بالعالم!

"وتريد أن تقول" مرحبًا ، أيها العالم! "بدون المسافة البيضاء في البداية وفي النهاية ، يمكنك قص السلسلة. توفر فئة String طريقة لقص () والتي تُرجع نسخة من السلسلة مع تمت إزالة المسافة البيضاء البادئة واللاحقة أو السلسلة الأصلية إذا لم يكن بها مسافة بيضاء سابقة أو لاحقة.

3016567 14 1
3016567 14 1

الخطوة 2. استخدم طريقة القطع () لفئة String على كائن String لقص المسافة البيضاء

لاحظ أن طريقة trim () ستطرح استثناءً إذا كانت السلسلة فارغة. لن يغير أسلوب trim () محتويات السلسلة الأصلية لأن السلاسل في Java غير قابلة للتغيير ، مما يعني أنه لا يمكن تعديل حالة السلسلة بعد إنشائها. بدلاً من ذلك ، ستعيد طريقة القطع () سلسلة جديدة تم قص مسافاتها البيضاء.

    String trimmedStr = str.trim () ؛

الخطوة 3. جرب مثالا

فيما يلي نموذج لبرنامج يقوم بقص المساحة البيضاء لسلسلة:

    فئة عامة StringManipulation {public static void main (String args) {String str = "Hello!"؛ String trimmedStr = str.trim () ؛ System.out.println ("السلسلة الأصلية هي \" "+ str +" / ".")؛ System.out.println ("السلسلة المقطوعة هي \" "+ trimmedStr +" / ".")؛ }}

طريقة 5 من 5: انقسام سلسلة

3016567 16
3016567 16

الخطوة الأولى. افهم ما يعنيه تقسيم السلسلة

يعني تقسيم سلسلة في Java تقسيم سلسلة بواسطة محدد معين إلى مصفوفة من السلاسل الفرعية. على سبيل المثال ، إذا قسمت السلسلة "أحمر ، أزرق ، أخضر ، أصفر ، وردي" مع فاصلة كمحدد ، سأحصل على المصفوفة {"أحمر" ، "أزرق" ، "أخضر" ، "أصفر" ، "وردي "}. فيما يلي ثلاث طرق مختلفة لفصل سلسلة.

3016567 17 1
3016567 17 1

الخطوة 2. استخدم

StringTokenizer

لترميز السلسلة.

يستورد

java.util. StringTokenizer

. ثم قم بإنشاء مثيل جديد لملف

StringTokenizer

مع السلسلة المراد ترميزها والمحدد كمعلمات. إذا لم تقم بإدخال المحدد كمعامل ، فسيتحول المحدد تلقائيًا إلى المسافة البيضاء بشكل افتراضي. بعد أن يكون لديك ملف

StringTokenizer

، يمكنك استعمال ال

nextToken ()

طريقة للحصول على كل رمز.

    استيراد java.util. Arrays ؛ استيراد java.util. StringTokenizer ؛ فئة عامة StringManipulation {public static void main (String args) {String str = "red، green، blue، yellow، pink"؛ StringTokenizer tokenizer = new StringTokenizer (str، "،")؛ int numberOfTokens = tokenizer.countTokens () ، String splitArr = سلسلة جديدة [numberOfTokens] ؛ لـ (int i = 0؛ i <numberOfTokens؛ i ++) {splitArr = tokenizer.nextToken () ؛ } System.out.println ("\ n السلسلة الأصلية:" + str)؛ System.out.println ("Split Array:" + Arrays.toString (splitArr) + "\ n")؛ }}

  • قبل Java 1.4 ، كان ملف

    StringTokenizer

    تم استخدام فئة لتقسيم السلاسل في Java. ولكن الآن ، استخدام

    StringTokenizer

    يتم تثبيط واستخدام

    الانقسام()

    الطريقة في

    سلسلة

    فئة أو استخدام

    java.util.regex

  • يتم تشجيع الحزمة.
3016567 18 1
3016567 18 1

الخطوة 3. استخدم

سلسلة

فئة

الانقسام()

طريقة.

ال

الانقسام()

سيأخذ التابع المحدد كمعلمة ويعيد مصفوفة من السلاسل الفرعية التي هي نفس الرموز المميزة من

StringTokenizer

    استيراد java.util. Arrays ؛ فئة عامة StringManipulation {public static void main (String args) {String str = "red، green، blue، yellow، pink"؛ String splitArr = str.split ("،")؛ System.out.println ("\ n السلسلة الأصلية:" + str)؛ System.out.println ("Split Array:" + Arrays.toString (splitArr) + "\ n")؛ }}

3016567 19 1
3016567 19 1

الخطوة 4. استخدم التعابير النمطية لتقسيم السلسلة

يستورد

java.util.regex. Pattern

. استخدم ال

تجميع ()

طريقة

نمط

فئة لتعيين المحدد ثم إعطاء

الانقسام()

طريقة السلسلة التي تريد تقسيمها. ال

نمط

سيعيد مجموعة من السلاسل الفرعية.

    استيراد java.util. Arrays ؛ استيراد java.util.regex. Pattern ؛ فئة عامة StringManipulation {public static void main (String args) {String str = "red، green، blue، yellow، pink"؛ String splitArr = Pattern.compile ("،").split (str)؛ System.out.println ("\ n السلسلة الأصلية:" + str)؛ System.out.println ("Split Array:" + Arrays.toString (splitArr) + "\ n")؛ }}

3016567 20 1
3016567 20 1

الخطوة 5. مراجعة الإخراج الخاص بك

هنا هو الناتج الناتج عن أي من هذه الطرق لتقسيم السلاسل.

موصى به: