CodeGym /وبلاگ جاوا /Random-FA /روش trim() جاوا String
John Squirrels
مرحله
San Francisco

روش trim() جاوا String

در گروه منتشر شد
حتی اگر دو رشته برای شما یکسان به نظر برسند، ممکن است نباشند. به عنوان مثال، آنها ممکن است فضاهای پیشرو و دنباله دار داشته باشند. کامپیوتر آن را "می بیند"، اما ما نمی بینیم. جاوا یک متد trim() ویژه برای حذف فضای خالی انتهایی و پیشرو از یک رشته دارد. در این مقاله قصد داریم نحوه استفاده از متد جاوا string trim() را در برنامه جاوا توضیح دهیم و چند نمونه کد ارائه دهیم.

امضای متد trim() String جاوا

امضای متد trim() در جاوا به صورت زیر است:
public String trim()
همانطور که می بینید، هیچ پارامتری نمی گیرد و مقدار رشته ای را برمی گرداند. کپی رشته اصلی را برمی گرداند، اما تمام فضاهای اصلی و انتهایی حذف شده است. نکته مهم: فاصله هر کاراکتری با کد ascii کمتر یا مساوی "U + 0020" است. اگر رشته ما یک دنباله خالی از کاراکترها باشد، یا اولین و آخرین کاراکترهای دنباله کاراکترهای نشان داده شده توسط این شی رشته دارای کدهای بدون فاصله (همانطور که در بالا تعریف شد) باشند، آنگاه یک مرجع به این شی رشته بازگردانده می شود. خوب، اگر همه کاراکترهای رشته ما فاصله باشند، یک شی String نشان دهنده یک رشته خالی برگردانده می شود. اگر هیچ فاصله ای در ابتدا و انتهای خط وجود نداشته باشد، متد خود خط را بدون تغییر برمی گرداند.

مثال روش trim() جاوا

بیایید دو رشته با و بدون فاصله در ابتدا و انتهای متن آنها داشته باشیم. متن برای هر دو رشته یکسان خواهد بود.
public class TrimDemo {
   public static void main(String[] args) {
//java string trim() method example

       String noSpacesString = "I am the Walrus";
       String withSpaceString = "    I am the Walrus ";

       //printing the both strings out to make sure they are different
       System.out.println(noSpacesString);
       System.out.println(withSpaceString);
       //let's print out two string comparisons. It's false
       //because they are different
       System.out.println(noSpacesString.equals(withSpaceString));
       //trim
       withSpaceString.trim();
       System.out.println(noSpacesString.equals(withSpaceString));
       System.out.println(noSpacesString);
       System.out.println(withSpaceString);
   }
}
خروجی این است:
من والروس هستم من والروس هستم false false من والروس هستم من والروس هستم
صبر کن چی؟؟ به نظر می رسد که متد جاوا string trim() کار نمی کند! دو رشته اول همانطور که باید متفاوت هستند (اولی بدون حاشیه، دومی سه فاصله در جلو و یکی بعد از متن دارد). سپس دو خط را با هم مقایسه کردیم و نتیجه را چاپ کردیم. بدیهی است که نادرست است زیرا این خطوط متفاوت هستند. بعد از اون روش trim رو با فاصله لبه ها روی رشته اعمال کردیم و دوباره رشته ها رو با هم مقایسه کردیم ... و بنا به دلایلی دوباره false گرفتیم البته الان باید همینطور باشه ! بعد برای هر اتفاقی تصمیم گرفتیم خود خطوط را چاپ کنیم، اگر معجزه ای اتفاق بیفتد چه می شود؟ افسوس... خطوط متفاوت بود و همچنان باقی است. آیا قبلا حدس زده اید که مشکل چیست؟ نکته این است که رشته ها در جاوا اشیایی تغییر ناپذیر هستند. بنابراین متد trim() نه رشته اصلی، بلکه یک رشته جدید را برمی گرداند. به هر حال، ما باید متد trim() را اینجا تست کنیم، پس بیایید برنامه دیگری بنویسیم. در اینجا ما قصد داریم یک کپی از رشته ایجاد شده در نتیجه متد trim() را برای کار با آن نام ببریم. بیایید دو رشته را هم برای هم ارزی بررسی کنیم.
public class TrimDemo2 {
   public static void main(String[] args) {
       String noSpacesString = "I am the Walrus";
       String withSpaceString = "    I am the Walrus ";
       String result = withSpaceString.trim();
       System.out.println(noSpacesString);
       System.out.println(result);
       System.out.println(noSpacesString.equals(result));
   }
}
در اینجا خروجی است:
من والروس هستم من والروس واقعی هستم
بینگو! اکنون همانطور که انتظار داشتیم کار می کند. تغییرناپذیری رشته را به خاطر داشته باشید ، برای هر توسعه دهنده جاوا بسیار مهم است.
نظرات
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION