في JS ، هناك ثلاثة شريحة شائعة () ، Sentrstr () ، و SUSSTR () في وظيفة اعتراض الأحرف. اسمحوا لي أن أقدم لكم بعض الاستخدامات والاختلافات بين وظائف Slice () و substr () و substr () عند اعتراض الشخصيات.
ثلاث وظائف لأخذ السلاسل: شريحة (ابدأ ، [نهاية]) ، فرعية (start ، [end]) و substr (start ، [length])
السمات ذات الصلة:
شريحة()
تمثل المعلمة الأولى موضع البداية ، وتمثل المعلمة الثانية الموضع التالي للموضع النهائي ، وطول السلسلة المعتادة هو الفرق بين المعلمة الثانية والمعلمة الأولى ؛ إذا كانت قيمة المعلمة سالبة ، تتم إضافة القيمة إلى طول السلسلة وتحويلها إلى قيمة موجبة ؛ إذا كانت المعلمة الأولى تساوي أكبر من المعلمة الثانية ، فسيتم إرجاع سلسلة فارغة.
SUNDRING ()
تمثل المعلمة الأولى موضع البداية ، والمعلمة الثانية تمثل الموضع التالي للموضع النهائي ؛ إذا كانت قيمة المعلمة سلبية ، يتم تحويل القيمة إلى 0 ؛ من بين المعلمتين ، يتم أخذ القيمة الأصغر كموضع بدء ، وطول السلسلة المعتادة هو الفرق بين القيمة الأكبر والقيمة الأصغر.
SUNSTR ()
تمثل المعلمة الأولى موضع البدء ، والمعلمة الثانية تمثل الطول المعترض
ملاحظة: تبدأ جميع الأوتار من 0
مثال:
<script type = "text/javaScript"> var stmp = "rcinn.cn" ؛ // استخدم تنبيه معلمة واحد (STMP.Slice (3)) ؛ // من الحرف الرابع ، اعتراض الحرف الأخير ؛ إرجاع "nn.cn" ALERT (STMP.SubString (3)) ؛ // من الحرف الرابع ، اعتراض الحرف الأخير ؛ إرجاع "nn.cn" // استخدم معلمتين تنبيه (STMP.SLICE (1،5)) // من الحرف الثاني ، إلى الحرف الخامس ؛ إرجاع "Cinn" ALERT (STMP.SUBSTRING (1،5)) ؛ // من الشخصية الثانية ، إلى الشخصية الخامسة ؛ إرجاع "cinn" // إذا تم استخدام معلمة واحدة فقط وهي 0 ، ثم أعد تنبيه المعلمة بأكمله (STMP.Slice (0)) ؛ // إرجاع تنبيه السلسلة بأكمله (STMP.SubString (0)) "R" // في المثال أعلاه ، يمكننا أن نرى أن استخدام Slice () و substring () متماثلون // القيم التي تم إرجاعها هي نفسها ، ولكن عندما تكون المعلمات سلبية ، تختلف قيم الإرجاع الخاصة بهم. راجع مثال التنبيه التالي (STMP.Slice (2 ، -5)) ؛ // إرجاع "I" ALERT (STMP.SUBSTRING (2 ، -5)) ؛ عاد) ؛ // Substring (2 ، -5) هو في الواقع فرعية (2،0) ، ويتم تحويل الأرقام السلبية إلى 0 ، ويأخذ السلسلة الفرعية دائمًا رقمًا أصغر كموضع البداية. ALERT (STMP.SUBSTRING (1،5)) // ابدأ من الحرف الثاني إلى الشخصية الخامسة ؛ إرجاع "Cinn" ALERT (STMP.SUBSTR (1،5)) ؛ // ابدأ من الحرف الثاني ، اعتراض 5 أحرف ؛ إرجاع "Cinn." </script>
الفرق بين أساليب SUNSTR و SUNDRING
<script type = "text/javaScript"> var str = "0123456789" ؛ // ALERT (Str.substring (0)) ؛ // -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- تنبيه (str.substring (-10)) ؛ // -------------- "0123456789" ALERT (Str.substring (-12)) ؛ // ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ALERT (Str.substring (2،2)) ؛ // --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ ALERT (Str.substr (5)) ؛ // ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ALERT (str.substr (0،10)) ؛ // ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- التنبيه (str.substr (-1،5)) ؛ // -------------- "01234" ALERT (str.substr (-1 ، -5)) ؛ // ------------------- "" </script>
الوظيفة: Split ()
الوظيفة: استخدم فاصل محدد لتقسيم سلسلة إلى صفيف
مثال:
str = "jpg | bmp | gif | ico | png" ؛ arr = thestring.split ("|") ؛ // arr هو صفيف يحتويالوظيفة: جون ()
الوظيفة: استخدم المحدد الذي تختاره لدمج صفيف في سلسلة
مثال:
var delimitedString = myarray.join (delimiter) ؛ var mylist = new array ("jpg" ، "bmp" ، "gif" ، "ico" ، "png") ؛ var portablelist = mylist.join ("|")الوظيفة: indexof ()
الوظيفة: إرجاع مركز الحرف الأول الذي يطابق السلسلة في السلسلة
var mystring = "javaScript" ؛ var w = mystring.indexof ("v") ؛ w سيكون 2var x = myString.indexof ("s") ؛ x سيكون 4var y = mystring.indexof ("script") ؛رأيت طريقة أخرى بسيطة للغاية عبر الإنترنت ، والرمز كما يلي:
دالة func (s ، n) {return s.replace (/([^x00-xff])/g ، "$ 1a"). slice (0 ، n) .replace (/([^x00-xff]) a/g ، "$ 1") ؛ }هذه الطريقة ذكية للغاية وهي صحيحة بشكل أساسي. يقال "بشكل أساسي" لأنه عندما يستغرق فرعية بطول 6 إلى يسار "اختبار الأحرف الصيني 123" ، فإنه يعود "123 حرفًا صينيًا" ، وليس "123 صينيًا". بالطبع ، هذه ليست مشكلة بالضرورة ، وفي بعض الحالات قد تكون المتطلبات هكذا. يمكن تحسين هذه الطريقة على النحو التالي:
دالة func (s ، n) {return s.slice (0 ، n) .replace (/([^x00-xff])/g ، "$ 1a"). شريحة (0 ، n) .replace (/([^x00-xff]) a/g ، "$ 1") ؛ }ما سبق هو كل شيء عن هذا المقال ، آمل أن يكون من المفيد للجميع تعلم برمجة JavaScript.