رشته ها دنباله ای از شخصیت ها هستند. به عنوان مثال ، "سلام!" یک رشته است زیرا از کاراکترهای "H" ، "e" ، "l" ، "l" ، "o" و "!" تشکیل شده است. در جاوا ، رشته ها اشیاء هستند ، به این معنی که یک کلاس String وجود دارد که دارای فیلدها و متدها است. ما می توانیم از متدهای کلاس String برای دستکاری رشته ها استفاده کنیم.
مراحل
روش 1 از 5: ایجاد یک رشته
مرحله 1. با استفاده از سازنده کلاس String یک رشته ایجاد کنید
String str = new String ("سلام!")؛
مرحله 2. با اختصاص مستقیم یک رشته ، یک رشته ایجاد کنید
مرحله 3. یک مثال را امتحان کنید
در اینجا یک نمونه برنامه وجود دارد که یک رشته را به دو روش مختلف ایجاد می کند.
کلاس عمومی StringManipulation {public static void main (String args) {String str1 = new String ("رشته ایجاد شده با سازنده!")؛ string str2 = "رشته بدون سازنده ایجاد شده است!"؛ System.out.println (str1) ؛ System.out.println (str2) ؛ }}
روش 2 از 5: طول یک رشته را بیابید
مرحله 1. پیدا کردن طول یک رشته به چه معناست
طول یک رشته عبارت است از تعداد نویسه هایی که رشته در خود دارد. به عنوان مثال ، طول رشته "سلام!" 6 است زیرا دارای 6 نویسه است.
مرحله 2. فراخوانی کنید
طول ()
متد را روی شی String قرار داده و نتیجه را در یک متغیر صحیح ذخیره کنید.
int strLength = str.length ()؛
مرحله 3. آن را امتحان کنید
در اینجا یک برنامه نمونه است که طول یک رشته را پیدا می کند.
کلاس عمومی StringManipulation {public static void main (String args) {String str = "سلام!"؛ int strLength = str.length ()؛ System.out.println ("طول \" " + str +" / "برابر است با" + strLength + ".")؛ }}
روش 3 از 5: یک رشته را معکوس کنید
مرحله 1. معنی معکوس کردن یک رشته را درک کنید
معکوس کردن یک رشته به معنای تغییر ترتیب کاراکترهای یک رشته است. به عنوان مثال ، معکوس رشته "سلام!" "! olleH" است. روشهای زیادی برای معکوس کردن یک رشته در جاوا وجود دارد.
مرحله 2. از روش معکوس کلاس StringBuffer استفاده کنید
یک شی StringBuffer ایجاد کنید که رشته ای را که می خواهید به عنوان یک پارامتر معکوس شود ، در خود بگیرد. از روش معکوس () StringBuffer استفاده کنید و سپس با استفاده از متد () toString () رشته تازه معکوس شده را بازیابی کنید.
کلاس عمومی StringManipulation {public static void main (String args) {String str = "سلام!"؛ StringBuffer buffer = new StringBuffer (str)؛ String reversedStr = buffer.reverse (). toString ()؛ System.out.println ("عکس رشته \" " + str +" / "\" " + reversedStr +" / "است.")؛ }}
مرحله 3. کاراکترهای یک رشته را برعکس تکرار کنید و در هر تکرار این کاراکترها را به StringBuffer اضافه کنید
یک شی StringBuffer جدید ایجاد کنید که با طول رشته ای که می خواهید به عنوان پارامتر معکوس شود ، اولیه شده است. سپس از حلقه for برای تکرار رشته استفاده کنید ، از آخرین کاراکتر در رشته شروع شده و به اولین کاراکتر در رشته ختم می شود. در هر تکرار ، کاراکتر آن فهرست را به StringBuffer اضافه کنید. با استفاده از متد toString () رشته تازه معکوس شده را بازیابی کنید.
کلاس عمومی StringManipulation {public static void main (String args) {String str = "سلام!"؛ StringBuffer buffer = new StringBuffer (str.length ())؛ برای (int i = str.length ()-1؛ i> = 0؛ i--) {buffer.append (str.charAt (i))؛ } String reversedStr = buffer.toString ()؛ System.out.println ("عکس رشته \" " + str +" / "\" " + reversedStr +" / "است.")؛ }}
مرحله 4. یک تابع بازگشتی برای معکوس کردن رشته بنویسید
در تابع بازگشتی ، حالت / شرط اصلی در صورتی است که رشته خالی باشد یا طول رشته کمتر یا مساوی هیچ باشد. در غیر این صورت ، متد reverse () مجدداً با رشته منهای حرف اول فراخوانی می شود و اولین کاراکتر در انتها جمع می شود. بنابراین اگر در رشته "Hello!" عبور کنیم ، اولین تماس معکوس () پس از آن پارامتر "ello!" را خواهد داشت.
کلاس عمومی StringManipulation {public static void main (String args) {String str = "سلام!"؛ String reversedStr = معکوس (str)؛ System.out.println ("عکس رشته \" " + str +" / "\" " + reversedStr +" / "است.")؛ } private static String reverse (String str) {if (str == null || str.length () <= 1) return str؛ برگشت معکوس (str.substring (1)) + str.charAt (0) ؛ }}
مرحله 5. رشته را به آرایه ای از کاراکترها تبدیل کنید و سپس اولین و آخرین ، دوم و دوم را به آخرین و غیره عوض کنید
شخصیت ها. ابتدا با استفاده از متد () toCharArray روی رشته ، رشته را به آرایه ای از کاراکترها تبدیل کنید. اندیس آخرین کاراکتر آرایه را که برابر طول آرایه منهای یک است بدست آورید. سپس از طریق آرایه تکرار کنید ، i را عوض کنیدث کاراکتر و indexOfLastChar - iث شخصیت در هر تکرار در نهایت ، آرایه کاراکتر را به یک رشته تبدیل کنید.
کلاس عمومی StringManipulation {public static void main (String args) {String str = "سلام!"؛ 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 reversedStr = رشته جدید (charArray)؛ System.out.println ("عکس رشته \" " + str +" / "\" " + reversedStr +" / "است.")؛ }}
مرحله 6. خروجی خود را مرور کنید
در اینجا خروجی حاصل از هر یک از این روشها برای برگشت رشته است.
روش 4 از 5: کوتاه کردن فضای سفید در یک رشته
مرحله 1. منظور از کوتاه کردن فضای سفید در یک رشته چیست
کوتاه کردن یک رشته در جاوا به معنای حذف فضای سفید پیشرو و خالی در رشته است. به عنوان مثال ، اگر رشته"
سلام دنیا!
"و شما می خواهید آن را به عنوان" سلام ، جهان! "بدون فضای سفید در ابتدا و در انتها ، می توانید رشته را کوتاه کنید. کلاس String یک روش برای کوتاه کردن () ارائه می دهد که یک کپی از رشته را با اگر فضای سفید پیشرو یا عقب وجود داشته باشد ، فضای سفید پیشرو و عقب برداشته می شود یا رشته اصلی حذف می شود.
مرحله 2. برای کوتاه کردن فضای سفید از متد trim () کلاس String در یک شی String استفاده کنید
توجه داشته باشید که متد trim () در صورتی که رشته تهی باشد ، یک استثناء ایجاد می کند. روش trim () محتویات رشته اصلی را تغییر نمی دهد زیرا رشته ها در جاوا تغییر ناپذیر هستند ، به این معنی که حالت یک رشته پس از ایجاد قابل تغییر نیست. در عوض ، روش trim () یک رشته جدید را باز می کند که فضای سفید آن کوتاه شده است.
رشته trimmedStr = str.trim ()؛
مرحله 3. یک مثال را امتحان کنید
در اینجا یک نمونه برنامه است که فضای سفید یک رشته را کوتاه می کند:
کلاس عمومی StringManipulation {public static void main (String args) {String str = "سلام!"؛ رشته trimmedStr = str.trim ()؛ System.out.println ("رشته اصلی \" " + str +" / ".") است؛ System.out.println ("رشته کوتاه شده \" " + trimmedStr +" / ".") است؛ }}
روش 5 از 5: یک رشته را تقسیم کنید
مرحله 1. درک اینکه منظور از تقسیم یک رشته چیست
تقسیم یک رشته در جاوا به معنای تقسیم یک رشته توسط یک محدود کننده خاص به یک آرایه از زیر رشته ها است. به عنوان مثال ، اگر رشته "قرمز ، آبی ، سبز ، زرد ، صورتی" را با کاما به عنوان محدود کننده تقسیم کنم ، آرایه {"قرمز" ، "آبی" ، "سبز" ، "زرد" ، "صورتی" را دریافت می کنم. "}. در اینجا سه روش مختلف برای تقسیم یک رشته وجود دارد.
مرحله 2. استفاده کنید
StringTokenizer
برای نشانه گذاری رشته
وارد كردن
java.util. StringTokenizer
به سپس یک نمونه جدید از a ایجاد کنید
StringTokenizer
با رشته tokenize و محدود کننده به عنوان پارامتر. اگر محدود کننده را به عنوان پارامتر وارد نکنید ، محدود کننده به طور خودکار به صورت سفید پیش فرض می شود. بعد از اینکه دارید
StringTokenizer
، می توانید از
nextToken ()
روش بدست آوردن هر توکن
واردات java.util. Arrays ؛ واردات java.util. StringTokenizer؛ کلاس عمومی StringManipulation {public static void main (String args) {String str = "قرمز ، سبز ، آبی ، زرد ، صورتی" ؛ StringTokenizer tokenizer = new StringTokenizer (str، "،")؛ int numberOfTokens = tokenizer.countTokens ()؛ رشته 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") ؛ }}
قبل از جاوا 1.4 ،
StringTokenizer
کلاس برای تقسیم رشته ها در جاوا استفاده شد. اما اکنون ، استفاده از
StringTokenizer
دلسرد شده است و استفاده از
شکاف()
روش در
رشته
کلاس یا استفاده از
java.util.regex
مرحله 3. از
رشته
کلاس ها
شکاف()
روش.
این
شکاف()
متد ، محدود کننده را به عنوان یک پارامتر در نظر می گیرد و آرایه ای از زیر رشته هایی را که شبیه توکن های مربوط به
StringTokenizer
واردات java.util. Arrays ؛ کلاس عمومی StringManipulation {public static void main (String args) {String str = "قرمز ، سبز ، آبی ، زرد ، صورتی" ؛ رشته splitArr = str.split ("،") ؛ System.out.println ("\ n رشته اصلی:" + str)؛ System.out.println ("Split Array:" + Arrays.toString (splitArr) + "\ n") ؛ }}
مرحله 4. برای تقسیم رشته از عبارات معمولی استفاده کنید
وارد كردن
java.util.regex. Pattern
به استفاده کنید
گردآوری()
روش از
الگو
کلاس برای تعیین محدود کننده و سپس دادن
شکاف()
متد رشته ای را که می خواهید تقسیم کنید متد کنید. این
الگو
آرایه ای از زیر رشته ها را برمی گرداند.
واردات java.util. Arrays ؛ واردات java.util.regex. Pattern؛ کلاس عمومی StringManipulation {public static void main (String args) {String str = "قرمز ، سبز ، آبی ، زرد ، صورتی" ؛ رشته splitArr = Pattern.compile ("،").split (str)؛ System.out.println ("\ n رشته اصلی:" + str)؛ System.out.println ("Split Array:" + Arrays.toString (splitArr) + "\ n") ؛ }}
مرحله 5. خروجی خود را مرور کنید
در اینجا خروجی حاصل از هر یک از این روشها برای تقسیم رشته ها آمده است.