مقارنة لغات البرمجة (وظائف السلاسل النصية)

تُستخدم دوال السلاسل النصية في لغات برمجة الكمبيوتر لمعالجة سلسلة نصية أو الاستعلام عن معلومات حول سلسلة نصية (بعضها يقوم بالأمرين معًا).

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

بالنسبة للدوال التي تتعامل مع السلاسل النصية، فإن لغات البرمجة الحديثة الموجهة للكائنات، مثل C# و Java، تتميز بسلاسل نصية غير قابلة للتغيير، وتعيد نسخة منها (في ذاكرة ديناميكية مُخصصة حديثًا)، بينما تقوم لغات أخرى، مثل بتعديل السلسلة النصية الأصلية ما لم يقم المبرمج بنسخ البيانات إلى سلسلة نصية جديدة. انظر على سبيل المثال دمج السلاسل النصية أدناه.

أبسط مثال على دالة السلسلة النصية هو الدالة ` length(string)length`. تُعيد هذه الدالة طول سلسلة نصية حرفية .

على سبيل المثال، length("hello world")ستُرجع القيمة 11.

قد تحتوي لغات برمجة أخرى على دوال للسلاسل النصية ذات بنية أو معاملات أو نتائج مشابهة أو مطابقة تمامًا. على سبيل المثال، في العديد من اللغات، تُكتب دالة الطول عادةً على النحو التالي: len(string) . تهدف القائمة التالية للدوال الشائعة إلى المساعدة في الحد من هذا الالتباس.

دوال السلاسل النصية الشائعة (مرجع متعدد اللغات)

فيما يلي قائمة بوظائف السلاسل النصية الشائعة في العديد من لغات البرمجة، مع ذكر أسمائها المختلفة. تهدف هذه القائمة إلى مساعدة المبرمجين في إيجاد الوظيفة المكافئة في كل لغة. يُتناول دمج السلاسل النصية والتعبيرات النمطية في صفحات منفصلة. العبارات بين علامتي اقتباس مفردتين  ») اختيارية. [ 1 ]

شارات

تعريفcharAt(string,integer)يُرجع حرفًا.
وصفيُعيد الحرف الموجود في الفهرس المحدد في السلسلة النصية.
مقابلانظر إلى سلسلة فرعية بطول حرف واحد.
شكلاللغاتفهرس القاعدة
string[i]ALGOL 68 ، APL ، Julia ، Pascal ، Object Pascal ( DelphiSeed71
string[i]C ، C++ ، C# ، Cobra ، D ، FreeBASIC ، Go ، Python ، [ 2 ] PHP ، Ruby ، [ 2 ] Windows PowerShell ، JavaScript ، APL0
string{i}PHP (تم إيقاف استخدامها في الإصدار 5.3)0
string(i)آدا≥1
Mid(string,i,1)VB1
MID$(string,i,1)أساسي1
string.Chars(i)VB.NET0
string(i:i)فورتران1
string.charAt(i)جافا ، جافا سكريبت0
string.[i]OCaml ، F#0
string.chars().nth(i)الصدأ [ 3 ]0
string[i,1]اختر الأساسي1
String.sub (string, i)لغة الآلة القياسية0
string !! iهاسكل0
(string-ref stringi)مخطط0
(char stringi)لغة الشفرة الشائعة0
(elt stringi)لغة ISLISP0
(get stringi)كلوجر0
substr(string, i, 1)بيرل 5 [ 2 ]0
substr(string, i, 1)string.substr(i, 1)راكو [ 4 ]0
substr(string, i, 1)PL/I1
substr(string, i, 1)ريكس1
string.at(i)لغة C++ (STL) (مع التحقق من الحدود)0
lists:nth(i, string)إرلانغ1
[string characterAtIndex:i]لغة البرمجة Objective-C ( NSString *فقط)0
string.sub(string, i, i)(string):sub(i, i)Lua [ 2 ]1
string at: iمحادثة قصيرة (مع التحقق من الحدود)1
string index string iتي سي إل0
StringTake[string, {i}]Mathematica ، لغة Wolfram [ 2 ]1
string@iإيفل1
string (i:1)كوبول1
${string_param:i:1}سحق0
istringAPL0 أو 1
{ مثال بلغة باسكال } var MyStr : string = 'Hello, World' ; MyChar : Char ; begin MyChar := MyStr [ 2 ] ; // 'e'
مثال في لغة ALGOL 68 "Hello, World"[2]; // 'e' 
// مثال بلغة C #include <stdio.h>char myStr1 [] = "Hello, World" ; printf ( "%c" , * ( myStr1 + 1 )); // 'e' printf ( "%c" , * ( myStr1 + 7 )); // 'W' printf ( "%c" , myStr1 [ 11 ]); // 'd' printf ( "%s" , myStr1 ); // 'Hello, World' printf ( "%s" , "Hello(2), World(2)" ); // 'Hello(2), World(2)'
استيراد std ؛باستخدام std :: string ;char myStr1 [] = "Hello(1), World(1)" ; string myStr2 = "Hello(2), World(2)" ; std :: println ( "Hello(3), World(3)" ); // 'Hello(3 ) , World(3)' std :: println ( " {}" , myStr2 [ 6 ]); // '2' std :: println ( "{}" , myStr1.substr ( 5 , 3 )); // '(1)'
// مثال بلغة C# "Hello, World" [ 2 ]; // 'l'
# مثال في بيرل 5 substr ( "Hello, World" , 1 , 1 ); # 'e'
# أمثلة في بايثون " Hello, World" [ 2 ] 'l' "Hello, World" [ -3 ] 'r'
# مثال في راكو "Hello, World" .substr ( 1 , 1 ); # 'e'
مثال في فيجوال بيسك Mid ( "Hello, World" , 2 , 1 )
مثال في Visual Basic .NET "Hello, World" . Chars ( 2 ) "l"c
"مثال بلغة سمول توك" 'Hello, World' في: 2 . "$e"
// مثال في لغة Rust "Hello, World" .chars ( ). nth ( 2 ); // Some('l')

قارن (النتيجة العددية)

تعريفcompare(string1,string2)يُرجع عددًا صحيحًا.
وصفيقارن هذا البرنامج سلسلتين نصيتين. إذا كانتا متطابقتين، يُرجع صفرًا. وإلا، فإن معظم هذه البرامج تُرجع نتيجة موجبة أو سالبة تُشير إلى ما إذا كانت السلسلة الأولى أكبر أو أصغر معجميًا من السلسلة الثانية ، على التوالي . ويُستثنى من ذلك برامج Scheme وRexx التي تُرجع فهرس أول اختلاف، وبرنامج Smalltalk الذي يُجيب على رمز مقارنة يُحدد كيفية ترتيب المُستقبِل للسلسلة النصية المُعاملة.
شكلاللغات
IF string1<string2 THEN -1 ELSE ABS (string1>string2) FIALGOL 68
cmp(string1, string2)بايثون 2
(string1 > string2) - (string1 < string2)بايثون
strcmp(string1, string2)لغة C ، لغة PHP
std.string.cmp(string1, string2)د
StrComp(string1, string2)VB ، أوبجكت باسكال ( دلفي )
string1 cmp string2بيرل ، راكو
string1 compare: string2المحادثات القصيرة ( سكويك ، فارو )
string1 <=> string2روبي ، سي++ (STL، سي++20 ) [ 5 ]
string1.compare(string2)لغة C++ (STL)، لغة Swift (الأساسية)
compare(string1, string2)ريكس ، سيد7
compare(string1, string2, pad)ريكس
CompareStr(string1, string2)باسكال ، أوبجكت باسكال ( دلفي )
string1.compareTo(string2)كوبرا ، جافا
string1.CompareTo(string2)VB .NET ، C# ، F#
(compare string1string2)كلوجر
(string= string1string2)لغة الشفرة الشائعة
(string-compare string1string2p<p=p>)المخطط (SRFI 13)
(string= string1string2)لغة ISLISP
compare string1string2أوكاميل
String.compare (string1, string2)التعلم الآلي القياسي [ 6 ]
compare string1string2هاسكل [ 7 ]
[string]::Compare(string1, string2)ويندوز باور شيل
[string1 compare:string2]لغة البرمجة Objective-C ( NSString *فقط)
LLT(string1,string2)LLE(string1,string2)LGT(string1,string2)LGE(string1,string2)فورتران [ 8 ]
string1.localeCompare(string2)جافا سكريبت
bytes.Compare([]byte(string1),[]byte(string2))يذهب
string compare string1string2تي سي إل
compare(string1,string2,count)PL/I [ 9 ]
string1.cmp(string2)الصدأ [ 10 ]
# مثال في بيرل 5 "hello" cmp "world" ; # يُرجع -1
مثال في بايثون cmp ( "hello" , "world" ) يُرجع -1
# أمثلة في راكو "hello" cmp "world" ; # تُرجع أقل "world" cmp "hello" ; # تُرجع أكثر "hello" cmp "hello" ; # تُرجع نفس الشيء
/** مثال بلغة Rexx */ compare ( "hello" , "world" ) /* تُرجع فهرس عدم التطابق: 1 */
مثال في لغة Scheme ( استخدام الوحدات ( srfi srfi-13 )) ؛ يُرجع فهرس عدم التطابق: 0 ( مقارنة السلاسل "hello" "world" القيم القيم القيم )

قارن (بناءً على عامل المقارنة، نتيجة منطقية)

تعريفstring1 OP string2أو تُرجع قيمة منطقية (Boolean).(compare string1 string2)
وصفيقارن هذا البرنامج بين سلسلتين نصيتين باستخدام عامل أو دالة علائقية. ويُرجع نتيجة منطقية.
شكلاللغات
string1 OP string2، حيث OPيمكن أن تكون أيًا من القيم التالية : =، <>، <، >، <=، و >=باسكال ، أوبجكت باسكال ( دلفيأوكاميل ، سيد7 ، ستاندرد إم إل ، بيسك ، في بي ، في بي دوت نت ، إف شارب
string1 OP string2، حيث OPيمكن أن تكون أيًا من العلامات التالية : =، /=، ≠، <، >، <=، ≤، و ؛ وكذلك: EQ، NE، LT، LE، GE، و GTALGOL 68
(stringOP? string1string2)، حيث OPيمكن أن يكون أيًا من =، -ci=، <، -ci<، >، -ci>، <=، -ci<=، >= و -ci>= (المعاملات التي تبدأ بـ ' ' غير حساسة لحالة الأحرف)-ciمخطط
(stringOP string1string2)، حيث OPيمكن أن يكون أيًا من =، -ci=، <>، -ci<>، <، -ci<، >، -ci>، <=، -ci<=، >= و -ci>= (المعاملات التي تبدأ بـ ' -ci ' غير حساسة لحالة الأحرف)المخطط (SRFI 13)
(stringOP string1string2)، حيث OPيمكن أن تكون أيًا من =، -يساوي، /=، -لا-يساوي، <، -أصغر، >، -أكبر، <=، -ليس-أكبر، >= و -ليس-أصغر (المعاملات اللفظية غير حساسة لحالة الأحرف)لغة الشفرة الشائعة
(stringOP string1string2)، حيث OPيمكن أن تكون أيًا من القيم التالية : =، /=، <، >، <=، و >=لغة ISLISP
string1 OP string2، حيث OPيمكن أن يكون أيًا من =، \=، <، >، <= و >= [ 11 ]ريكس
string1 OP string2، حيث OPيمكن أن يكون أيًا من =، ¬=، <، >، <=، >=، ¬< و ¬> [ 12 ]PL/I
string1 OP string2، حيث OPيمكن أن تكون أيًا من القيم التالية : =، /=، <، >، <=، و >=آدا
string1 OP string2، حيث OPيمكن أن تكون أيًا من القيم التالية: ==، /=، <، >، =<، و >=إرلانغ
string1 OP string2، حيث OPيمكن أن تكون أيًا من القيم التالية: ==، /=، <، >، <=، و >=هاسكل
string1 OP string2، حيث OPيمكن أن تكون أيًا من القيم التالية: eq ، ne ، lt ، gt ، le ، و geبيرل ، راكو
string1 OP string2، حيث OPيمكن أن تكون أيًا من القيم التالية: ==، !=، <، >، <=، و >= C++ (STL)، C# ، D ، Go ، JavaScript ، Python ، PHP ، Ruby ، Rust ، [ 13 ] Swift
string1 OP string2، حيث OPيمكن أن تكون أيًا من -eq، -ceq، -ne، -cne، -lt، -clt، -gt، -cgt، -le، -cle، -ge، و- cge (المعاملات التي تبدأ بـ ' c ' حساسة لحالة الأحرف)ويندوز باور شيل
string1 OP string2، حيث OPيمكن أن تكون أيًا من القيم التالية: ==، ~=، <، >، <=، و >=لغة لوا
string1 OP string2، حيث OPيمكن أن تكون أيًا من القيم التالية : =، ~=، <، >، <=، و >=أحاديث قصيرة
string1 OP string2، حيث OPيمكن أن تكون أيًا من ==، /=، <، >، <= و >=؛ وكذلك: .EQ.، .NE.، .LT.، .LE.، .GT. و .GE.فورتران [ 14 ]
string1 OP string2حيث OPيمكن أن يكون أيًا من =، <>، <، >، <=، >= بالإضافة إلى المكافئات اللفظيةكوبول
string1 OP string2حيث OPيمكن أن تكون أيًا من القيم التالية : ==، <>، <، >، <=، و >=الكوبرا
string1 OP string2هذه الصيغة متاحة، ولكنها تعني مقارنة المؤشرات التي تشير إلى السلاسل النصية، وليس محتويات السلسلة نفسها. استخدم الدالة Compare (نتيجة عددية صحيحة).لغة سي ، جافا
string1.METHOD(string2)أين METHODيوجد أي من eq، ne، gt، lt، ge،leالصدأ [ 13 ]
مثال في لغة إرلانج: "hello" > "world" . % يُرجع خطأ
# مثال في راكو "art" > "painting" ; يُرجع خطأ "art" < "painting" ; يُرجع صحيح
مثال في ويندوز باور شيل "hello" -gt "world" يُرجع خطأ
مثال في لغة Common Lisp : ( string< "art" "painting" ) ; تُرجع قيمة فارغة (nil) . ( string< "art" "painting" ) ; تُرجع قيمة غير فارغة (non-nil) .

سلسلة

تعريفconcatenate(string1,string2)يُرجع سلسلة نصية.
وصفتقوم هذه الدالة بدمج سلسلتين نصيتين معًا، ثم تُعيد السلسلة المدمجة. في بعض اللغات، مثل لغة C، توجد سلاسل نصية قابلة للتعديل، لذا في الواقع، يتم إلحاق السلسلة الثانية بالسلسلة الأولى، ثم تُعاد السلسلة المُعدّلة.
شكلاللغات
string1adjacent_tostring2ريكس (دعامة، ما يعادل )string1||string2
string1whitespacestring2ريكس (مكافئ لـ )string1|| ' ' ||string2
string1 & string2Ada ، FreeBASIC ، Seed7 ، BASIC ، VB ، VB .NET ، COBOL (بين القيم الحرفية فقط)
strcat(string1, string2)C و C++ ( فقط) [ 15 ]char*
string1 . string2بيرل ، بي إتش بي
string1 + string2ALGOL 68 ، C ++ ( STL)، C# ، Cobra ، FreeBASIC ، Go ، Pascal ، Object Pascal ( DelphiJava ، JavaScript ، Windows PowerShell ، Python ، Ruby، Rust ، F # ، Swift ، Turing ، VB
string1 ~ string2د ، راكو
(string-append string1string2)مخطط ، ISLISP
(concatenate 'string string1string2)لغة الشفرة الشائعة
(str string1string2)كلوجر
string1||string2Rexx ، SQL ، PL/I
string1 // string2فورتران
string1 ++ string2إرلانج ، هاسكل
string1 ^ string2OCaml ، Standard ML ، F#
[string1 stringByAppendingString:string2]لغة البرمجة Objective-C ( NSString *فقط)
string1 .. string2لغة لوا
string1 , string2سمول توك ، إيه بي إل
string1string2سنوبول
string1string2سحق
string1 <> string2ماثيماتيكا
دمج السلسلة 1 والسلسلة 2تي سي إل
{ مثال بلغة باسكال } 'abc' + 'def' ; // تُرجع "abcdef"
// مثال بلغة C# "abc" + "def" ; // يُرجع "abcdef"
مثال في فيجوال بيسك: "abc" & "def" يُرجع "abcdef". "abc" + "def" يُرجع "abcdef". "abc" & Null يُرجع "abc". "abc" + Null يُرجع Null.
// مثال في لغة D "abc" ~ "def" ; // يُرجع "abcdef"
مثال في لغة Common Lisp : ( concatenate 'string "abc " "def " "ghi" ) ; تُرجع "abc def ghi"
# مثال في بيرل 5 "abc" . "def" ; يُرجع "abcdef" "Perl " . 5 ; يُرجع "Perl 5"
/* مثال بلغة PL/I */ "abc" || "def" /* يُرجع "abcdef" */
# مثال في راكو "abc" ~ "def" ; # يُرجع "abcdef" "Perl " ~ 6 ; # يُرجع "Perl 6"
/* مثال بلغة Rexx */ "Strike" 2 /* تُرجع "Strike2" */ "Strike" 2 /* تُرجع "Strike 2" */

يتضمن

تعريفcontains(string,substring)تُرجع قيمة منطقية
وصفتُعيد هذه الدالة ما إذا كانت السلسلة النصية تحتوي على سلسلة فرعية مُحددة. وهذا يُعادل استخدام دالة البحث (Find) ثم التحقق من عدم وجود شرط الفشل المذكور في العمود الثالث من قسم البحث. مع ذلك، تُوفر بعض لغات البرمجة طريقةً أبسط للتعبير عن هذا الاختبار.
متعلق بيجد
شكلاللغات
string_in_string(string, loc int, substring)ALGOL 68
ContainsStr(string, substring)أوبجكت باسكال ( دلفي )
strstr(string, substring) != NULLلغة C ، لغة C++ ( char *فقط)
string.Contains(substring)سي شارب ، فيجوال بيسك دوت نت ، ويندوز باور شيل ، إف شارب
string.contains(substring)كوبرا ، جافا (1.5+)، راكو ، روست ، [ 17 ] C++ ( C++ 23 ) [ 18 ]
string.indexOf(substring) >= 0جافا سكريبت
strpos(string, substring) !== falsePHP
str_contains(string, substring)PHP (8+)
pos(string, substring) <> 0سيد7
substring in stringكوبرا ، بايثون (2.3+)
string.find(string, substring) ~= nilلغة لوا
string.include?(substring)روبي
Data.List.isInfixOf substringstringهاسكل ( GHC 6.6+)
string includesSubstring: substringسمول توك ( سكويك ، فارو ، سمول توك/إكس )
String.isSubstring substringstringلغة الآلة القياسية
(search substringstring)لغة الشفرة الشائعة
(not(null(string-indexsubstringstring)))لغة ISLISP
(substring? substringstring)كلوجر
! StringFreeQ[string, substring]ماثيماتيكا
index(string, substring, startpos)>0فورتران، PL/I [ 19 ]
index(string, substring, occurrence)>0اختر الأساسي
strings.Contains(string, substring)يذهب
string.find(substring) != string::nposلغة سي++
[string containsString:substring]Objective-C ( NSString *فقط، iOS 8+/OS X 10.10+)
string.rangeOfString(substring) != nilسويفت (الأساسية)
∨/substringstringAPL
مثال في لغة ALGOL 68 string in string("e", loc int , "Hello mate"); ¢ تُرجع القيمة true ¢ string in string("z", loc int , "word"); ¢ تُرجع خطأ ¢
// مثال في لغة C#: "Hello mate" .Contains ( "e" ); // تُرجع القيمة true، " word" .Contains ( " z" ); // تُرجع القيمة false
مثال في بايثون: "e" في "Hello mate" تُرجع القيمة true، "z" في "word" تُرجع القيمة false
# مثال في راكو "صباح الخير!" . يحتوي على ( 'z' ) # يُرجع خطأ "¡Buenos días!" . يحتوي على ( 'í' ) ; # يُرجع صحيح
"مثال في لغة سمول توك" "Hello mate" includesSubstring: 'e' " تُرجع القيمة true " " word " includesSubstring: 'z' " تُرجع القيمة false

المساواة

يختبر هذا الأمر ما إذا كانت سلسلتان نصيتان متساويتان. انظر أيضًا #Compare و #Compare . إن إجراء عمليات التحقق من المساواة باستخدام دالة Compare العامة مع نتيجة عددية صحيحة ليس مربكًا للمبرمج فحسب، بل غالبًا ما يكون عملية مكلفة للغاية؛ وهذا ينطبق بشكل خاص عند استخدام " سلاسل C ".

شكلاللغات
string1 == string2بايثون ، سي++ (STL)، سي# ، كوبرا ، جو ، جافا سكريبت (متشابهة)، بي إتش بي (متشابهة)، روبي ، رست ، [ 13 ] إرلانج ، هاسكل ، لوا ، دي ، ماثيماتيكا ، سويفت
string1 === string2جافا سكريبت ، بي إتش بي
string1 == string2string1 .EQ. string2فورتران
strcmp(string1, string2) == 0ج
(string=? string1string2)مخطط
(string= string1string2)لغة Common Lisp ، لغة ISLISP
string1 = string2ALGOL 68 ، Ada ، Object Pascal ( DelphiOCaml ، Pascal ، Rexx ، Seed7 ، Standard ML ، BASIC ، VB ، VB .NET ، F# ، Smalltalk ، PL/I ، COBOL
test string1 = string2[ string1 = string2 ]بورن شل
string1 eq string2بيرل ، راكو ، تي سي إل
string1.equals(string2)كوبرا ، جافا
string1.Equals(string2)سي شارب
string1 -eq string2[string]::Equals(string1, string2)ويندوز باور شيل
[string1 isEqualToString:string2][string1 isEqual:string2]لغة البرمجة Objective-C ( NSString *فقط)
string1string2APL
string1.eq(string2)الصدأ [ 13 ]
// مثال في لغة C# "hello" == "world" // يُرجع خطأ
مثال في فيجوال بيسك: "hello" = "world" يُرجع خطأً
# أمثلة في بيرل 5 'hello' eq 'world' # تُرجع 0 'hello' eq 'hello' # تُرجع 1
# أمثلة في راكو 'hello' eq 'world' # تُرجع خطأ 'hello' eq 'hello' # تُرجع صحيح
مثال في ويندوز باور شيل "hello" -eq "world" يُرجع خطأ
⍝ مثال في لغة APL : 'hello' 'world' ⍝ تُرجع 0

يجد

تعريفfind(string,substring)تُرجع عددًا صحيحًا
وصفتُعيد هذه الدالة موضع بداية أول ظهور للسلسلة الفرعية في السلسلة النصية . إذا لم يتم العثور على السلسلة الفرعية، فإن معظم هذه الدوال تُعيد قيمة فهرس غير صالحة - -1 حيث تبدأ الفهارس من الصفر، و0 حيث تبدأ من الواحد - أو قيمة تُفسَّر على أنها خطأ منطقي (FALSE).
متعلق بinstrev
شكلاللغاتفي حالة عدم العثور عليه
string in string(substring, pos, string[startpos:])ALGOL 68يُرجع قيمة منطقية (BOOL): TRUE أو FALSE، والموضع في REF INT pos.
InStr(«startposstring,substring)VB (تبدأ المراكز من 1)يُرجع 0
INSTR$(string,substring)المستوى الأساسي (تبدأ المواضع من 1)يُرجع 0
index(string,substring)أوكيُرجع 0
index(string,substring«,startpos»)بيرل 5يُرجع -1
index(string,substring«,startpos»)string.index(substring,«,startpos»)راكولا توجد نتائج
instr(«startposstring,substring)فري بيسيكيُرجع 0
strpos(string,substring«,startpos»)PHPيُرجع خطأ
locate(string, substring)إنجريسيُرجع طول السلسلة + 1
strstr(string, substring)C و C++ ( فقط، تُرجع مؤشرًا إلى الحرف الأول)char*يُرجع قيمة فارغة (NULL)
std.string.indexOf(string, substring)ديُرجع -1
pos(string, substring«, startpos»)سيد7يُرجع 0
strings.Index(string, substring)يذهبيُرجع -1
pos(substring, string)باسكال ، أوبجكت باسكال ( دلفي )يُرجع 0
pos(substring, string«,startpos»)ريكسيُرجع 0
string.find(substring«,startpos»)لغة C++ (STL)تُرجع std::string::npos
string.find(substring«,startpos«,endpos»»)بايثونيُرجع -1
string.index(substring«,startpos«,endpos»»)يُثير خطأ القيمة
string.index(substring«,startpos»)روبيلا يُرجع قيمة
string.indexOf(substring«,startpos»)جافا ، جافا سكريبتيُرجع -1
string.IndexOf(substring«,startpos«, charcount»»)VB .NET ، C# ، Windows PowerShell ، F#يُرجع -1
string:str(string, substring)إرلانغيُرجع 0
(string-contains stringsubstring)المخطط (SRFI 13)العائدات
(search substringstring)لغة الشفرة الشائعةلا يُرجع أي شيء
(string-index substringstring)لغة ISLISPعمليات الإرجاعnil
List.findIndex (List.isPrefixOf substring) (List.tails string)هاسكل (تعيد الفهرس فقط )لا يُرجع أي شيء
Str.search_forward (Str.regexp_string substring) string 0أوكاميليُثير خطأ Not_found
Substring.size (#1 (Substring.position substring (Substring.full string)))لغة الآلة القياسيةطول السلسلة المرجعية
[string rangeOfString:substring].locationلغة البرمجة Objective-C ( NSString *فقط)تُرجع NSNotFound
string.find(string, substring)(string):find(substring)لغة لوالا يُرجع قيمة
string indexOfSubCollection: substring startingAt: startpos ifAbsent: aBlockstring findString: substring startingAt: startposالمحادثات القصيرة ( سكويك ، فارو )تقييم aBlock، وهو عبارة عن إغلاق كتلة (أو أي كائن يفهم القيمة)، يُرجع 0
startpos = INDEX(string, substring «,back» «, kind»)فورترانتُرجع الدالة 0 إذا لم تكن السلسلة الفرعية موجودة في السلسلة؛ وتُرجع LEN(string)+1 إذا كانت السلسلة الفرعية فارغة.
POSITION(substring IN string)SQLتُرجع القيمة 0 (تبدأ المواضع من 1)
index(string, substring, startpos )PL/I [ 19 ]تُرجع القيمة 0 (تبدأ المواضع من 1)
index(string, substring, occurrence )اختر الأساسيتُرجع القيمة 0 إذا لم يكن ظهور السلسلة الفرعية موجودًا في السلسلة؛ (تبدأ المواضع من 1)
string.indexOf(substring«,startpos«, charcount»»)الكوبرايُرجع -1
string first substring string startposتي سي إليُرجع -1
(substringstring)⍳1APLتُرجع 1 + آخر موضع في السلسلة
string.find(substring)الصدأ [ 20 ]عمليات الإرجاعNone

أمثلة

  • لغة الشفرة الشائعة
    ( ابحث عن "e" "Hello mate" ) ؛ يُرجع 1 ( ابحث عن "z" "word" ) ؛ يُرجع NIL
  • سي شارب
    "Hello mate" .IndexOf ( " e" ); // تُرجع 1 "Hello mate" .IndexOf ( " e" , 4 ); // تُرجع 9 "word" .IndexOf ( " z" ); // تُرجع -1
  • راكو
    "مرحباً!" . index ( 'e' ) # تُرجع 1 "مرحباً!" . index ( 'z' ) # تُرجع Nil
  • مخطط
    ( استخدام الوحدات ( srfi srfi-13 )) ( السلسلة تحتوي على "Hello mate" "e" ) ؛ تُرجع 1 ( السلسلة تحتوي على "word" "z" ) ؛ تُرجع #f
  • فيجوال بيسك
    أمثلة في InStr ( "Hello mate" , "e" ) ' تُرجع 2، InStr ( 5 , "Hello mate" , "e" ) ' تُرجع 10، InStr ( "word" , "z" ) ' تُرجع 0
  • أحاديث قصيرة
    'Hello mate' indexOfSubCollection: 'ate' "returns 8"
    'Hello mate' indexOfSubCollection: 'late' "returns 0"
    I ' Hello mate ' indexOfSubCollection: 'late' ifAbsent: [ 99 ] "returns 99"
    'Hello mate' indexOfSubCollection: 'late' ifAbsent: [ self error ] "يُثير استثناءً"

ابحث عن الشخصية

تعريفfind_character(string,char)تُرجع عددًا صحيحًا
وصفتُعيد هذه الدالة موضع بداية أول ظهور للحرف char في السلسلة النصية . إذا لم يتم العثور على الحرف، فإن معظم هذه الدوال تُعيد قيمة فهرس غير صالحة - -1 حيث تبدأ الفهارس من الصفر، و0 حيث تبدأ من الواحد - أو قيمة منطقية تُفسَّر على أنها خطأ (FALSE). يمكن تحقيق ذلك كحالة خاصة من الدالة #Find ، باستخدام سلسلة نصية مكونة من حرف واحد؛ ولكن قد يكون من الأسهل أو الأكثر كفاءة في العديد من اللغات تحديد موقع حرف واحد فقط. كذلك، في العديد من اللغات، تُعتبر الأحرف والسلاسل النصية أنواعًا مختلفة، لذا من الملائم وجود مثل هذه الدالة.
متعلق بيجد
شكلاللغاتفي حالة عدم العثور عليه
char in string(char, pos, string[startpos:])ALGOL 68تُرجع قيمة منطقية (BOOL) : TRUE أو FALSE ، والموضع في REF INT pos .
instr(string, any char«,startpos»)(char، يمكن أن يحتوي على أكثر من حرف واحد، وفي هذه الحالة يتم إرجاع موضع الظهور الأول لأي منها.)فري بيسيكيُرجع 0
strchr(string,char)C و C++ ( فقط، تُرجع مؤشرًا إلى حرف)char*يُرجع قيمة فارغة (NULL)
std.string.find(string, dchar)ديُرجع -1
string.find(char«,startpos»)لغة C++ (STL)تُرجع std::string::npos
pos(string, char«, startpos»)سيد7يُرجع 0
strings.IndexRune(string,char)يذهبيُرجع -1
string.indexOf(char«,startpos»)جافا ، جافا سكريبتيُرجع -1
string.IndexOf(char«,startpos«, charcount»»)VB .NET ، C# ، Windows PowerShell ، F#يُرجع -1
(position charstring)لغة الشفرة الشائعةلا يُرجع أي شيء
(char-index charstring)لغة ISLISPلا يُرجع قيمة
List.elemIndex charstringهاسكل (إرجاع )Just indexلا يُرجع أي شيء
String.index stringcharأوكاميليُثير خطأ Not_found
position = SCAN (string, set «, back» «, kind»)position = VERIFY (string, set «, back» «, kind»)[a]فورترانتُرجع القيمة صفر
string indexOf: char ifAbsent: aBlockstring indexOf: charstring includes: charأحاديث قصيرةتقييم aBlockأي كائن BlockClosure(أو أي كائن يفهم القيمة) يُرجع 0 أو يُرجع trueأوfalse
index(string, char, startpos )PL/I [ 21 ]تُرجع القيمة 0 (تبدأ المواضع من 1)
string.index(?char)روبيلا يُرجع قيمة
strpos(string,char,startpos)PHPتُرجع القيمة خطأ
string.indexOf(char«,startpos«, charcount»»)الكوبرايُرجع -1
stringcharAPLتُرجع 1 + آخر موضع في السلسلة
string.find(substring)الصدأ [ 20 ]لا يُرجع أي قيمة
// أمثلة بلغة C# : "Hello mate" .IndexOf ( 'e' ); // تُرجع 1، "word" .IndexOf ( 'z' ); // تُرجع -1
أمثلة في لغة Common Lisp : ( الموضع #\e "Hello mate" ) ؛ تُرجع 1؛ ( الموضع #\z "word" ) ؛ تُرجع NIL

عند إعطاء مجموعة من الأحرف، تُرجع الدالة SCAN موضع أول حرف تم العثور عليه، [ 22 ] بينما تُرجع الدالة VERIFY موضع أول حرف لا ينتمي إلى المجموعة. [ 23 ]

شكل

تعريفformat(formatstring, items)سلسلة نصية مُعادة
وصفيُعيد هذا الأمر تمثيلاً نصياً منسقاً لعنصر واحد أو أكثر.
شكلاللغاتصيغة سلسلة التنسيق
associate(file, string); putf(file, $formatstring$, items)ALGOL 68ألغول
Format(item, formatstring)VB
sprintf(formatstring, items)بيرل ، بي إتش بي ، راكو ، روبيج
item.fmt(formatstring)راكوج
io_lib:format(formatstring, items)إرلانغ
sprintf(outputstring, formatstring, items)جج
std::format(formatstring, items)سي++ ( سي++20 )بايثون
std.string.format(formatstring, items)دج
Format(formatstring, items)أوبجكت باسكال ( دلفي )
fmt.Sprintf(formatstring, items)يذهبج
printfformatstringitemsيونكسج
formatstring % (items)بايثون ، روبيج
formatstring.format(items)بايثون.شبكة
fformatstringبايثون 3
Printf.sprintf formatstring[ 24 ]itemsOCaml ، F#ج
Text.Printf.printf formatstringitemsهاسكل ( GHC )ج
formatstring printf: itemsأحاديث قصيرةج
String.format(formatstring, items)جافاج
String.Format(formatstring, items)VB .NET ، C# ، F#.شبكة
(format formatstringitems)المخطط (SRFI 28)التلعثم
(format nil formatstringitems)لغة الشفرة الشائعةالتلعثم
(format formatstringitems)كلوجرالتلعثم
formatstring -f itemsويندوز باور شيل.شبكة
[NSString stringWithFormat:formatstring, items]لغة البرمجة Objective-C ( NSString *فقط)ج
String(format:formatstring, items)سويفت (الأساسية)ج
string.format(formatstring, items)(formatstring):format(items)لغة لواج
WRITE (outputstring, formatstring) itemsفورترانفورتران
put string(string) edit(items)(format)PL/IPL/I (مشابهة للغة فورتران)
String.format(formatstring, items)الكوبرا.شبكة
format formatstring itemsتي سي إلج
formatnumbersitemsformatstring ⎕FMT itemsAPLAPL
format!(formatstring, items)الصدأ [ 25 ]بايثون
// مثال في لغة C# String.Format ( " My {0} costs {1:C2}" , "pen" , 19.99 ); // يُرجع "My pen costs $19.99"
// مثال في لغة أوبجكت باسكال (دلفي) Format ( 'My %s costs $%2f' , [ 'pen' , 1 9.99 ]) ; // يُرجع "My pen costs $19.99"
// مثال في جافا String.format( " My % s costs $%2f" , "pen" , 19.99 ); // يُرجع "My pen costs $19.99"
# أمثلة في Raku sprintf "My %s costs \$%.2f" , "pen" , 19.99 ; # تُرجع "My pen costs $19.99" 1 . fmt ( "%04d" ); # تُرجع "0001"
# مثال في بايثون "My %s cost $ %.2f " % ( "pen" , 19.99 ); # يُرجع "My pen cost $19.99" "My {0} cost $ {1:.2f} " . format ( "pen" , 19.99 ); # يُرجع "My pen cost $19.99"
#مثال في بايثون 3.6+ pen = "pen" f "My { pen } costs { 19.99 } " #إرجاع "My pen costs 19.99"
مثال في لغة Scheme ( تنسيق "My ~a costs $~1,2F" "pen" 19.99 ) ؛ يُرجع "My pen costs $19.99"
/* مثال بلغة PL/I */ put string ( some_string ) edit ( 'My ' , 'pen' , ' costs' , 19.99 )( a , a , a , p '$$$V.99' ) /* تُرجع "My pen costs $19.99" */

عدم المساواة

يختبر هذا الأمر ما إذا كانت سلسلتان نصيتان غير متساويتين. انظر أيضًا #Equality .

شكلاللغات
string1nestring2string1 NE string2ALGOL 68 – يظهر المعامل " ne " بخط غامق .
string1 /= string2ألغول 68 ، أدا ، إرلانج ، فورتران ، هاسكل
string1 <> string2BASIC ، VB ، VB .NET ، Pascal ، Object Pascal ( DelphiOCaml ، PHP ، Seed7 ، Standard ML ، F# ، COBOL ، Cobra ، Python 2 (مهملة)
string1 # string2لغة BASIC (بعض التطبيقات)
string1 ne string2بيرل ، راكو
(string<> string1string2)المخطط (SRFI 13)
(string/= string1string2)لغة الشفرة الشائعة
(string/= string1string2)لغة ISLISP
(not= string1string2)كلوجر
string1 != string2C++ (STL)، C# ، Go ، JavaScript (غير متشابهة)، PHP (غير متشابهة)، Python ، Ruby ، Rust ، [ 13 ] Swift ، D ، Mathematica
string1 !== string2جافا سكريبت ، بي إتش بي
string1 \= string2ريكس
string1 ¬= string2PL/I
test string1 != string2[ string1 != string2 ]بورن شل
string1 -ne string2-not[string]::Equals(string1, string2)ويندوز باور شيل
string1 ~= string2لوا ، سمول توك
string1string2APL
string1.ne(string2)الصدأ [ 13 ]
// مثال في لغة C# "hello" != "world" // يُرجع القيمة true
مثال في فيجوال بيسك: "hello" <> "world" ' يُرجع القيمة true
;; مثال في كلوجر ( not= "hello" "world" ) ; ⇒ صحيح
# مثال في بيرل 5 'hello' ne 'world' # يُرجع 1
# مثال في راكو 'hello' ne 'world' # يُرجع القيمة True
مثال في ويندوز باور شيل "hello" -ne "world" يُرجع القيمة true

فِهرِس

انظر #ابحث

فهرس

انظر #ابحث

آلة موسيقية

انظر #ابحث

instrev

انظر إلى البحث

ينضم

تعريف join(separator, list_of_strings)تُرجع قائمة من السلاسل النصية المتصلة بفاصل.
وصفيجمع قائمة السلاسل النصية في سلسلة نصية جديدة، مع وجود سلسلة فاصلة بين كل سلسلة فرعية. عكس عملية التقسيم .
متعلق بsprintf
شكلاللغات
std.string.join(array_of_strings, separator)د
string:join(list_of_strings, separator)إرلانغ
join(separator, list_of_strings)بيرل ، بي إتش بي ، راكو
implode(separator, array_of_strings)PHP
separator.join(sequence_of_strings)بايثون ، سويفت 1.x
array_of_strings.join(separator)روبي ، جافا سكريبت ، راكو ، راست [ 26 ]
(string-join array_of_stringsseparator)المخطط (SRFI 13)
(format nil "~{~a~^separator~}" array_of_strings)لغة الشفرة الشائعة
(clojure.string/join separatorlist_of_strings)(apply str (interpose separatorlist_of_strings))كلوجر
strings.Join(array_of_strings, separator)يذهب
join(array_of_strings, separator)سيد7
String.concat separatorlist_of_stringsأوكاميل
String.concatWith separatorlist_of_stringsلغة الآلة القياسية
Data.List.intercalate separatorlist_of_stringsهاسكل ( GHC 6.8+)
Join(array_of_strings, separator)VB
String.Join(separator, array_of_strings)VB .NET ، C# ، F#
String.join(separator, array_of_strings)جافا 8+
&{$OFS=$separator; "$array_of_strings"}array_of_strings -join separatorويندوز باور شيل
[array_of_strings componentsJoinedByString:separator]لغة البرمجة Objective-C ( NSString *فقط)
table.concat(table_of_strings, separator)لغة لوا
{|StringstreamContents: [ :stream|collectionOfAnything asStringOn: stream delimiter: separator]collectionOfAnything joinUsing: separatorالمحادثات القصيرة ( سكويك ، فارو )
array_of_strings.join(separator«, final_separator»)الكوبرا
sequence_of_strings.joinWithSeparator(separator)Swift 2.x
1↓∊separatorlist_of_stringsAPL
// مثال في لغة C# String.Join ( "-" , { "a" , "b" , "c" }) // "abc"
"مثال في لغة سمول توك" #( 'a' 'b' 'c' ) joinUsing: '-' " 'abc' "
# مثال في بيرل 5 join ( '-' , ( 'a' , 'b' , 'c' )); # 'abc'
# مثال في راكو <ab c> . join ( '-' ); # 'abc'
# مثال في بايثون "-" . join ([ "a" , "b" , "c" ]) # 'abc'
# مثال في روبي [ "a" , "b" , "c" ]. join ( "-" ) # 'abc'
مثال في لغة Scheme ( استخدام الوحدات ( srfi srfi-13 )) ( دمج السلاسل ' ( "a" "b" "c" ) "-" ) ; "abc"

فهرس الأخير لـ

انظر إلى البحث

غادر

تعريفleft(string,n)سلسلة نصية مُعادة
وصفتُعيد هذه الدالة الجزء الأيسر (n) من السلسلة النصية. إذا كان n أكبر من طول السلسلة، فإن معظم التطبيقات تُعيد السلسلة كاملةً (مع وجود استثناءات - انظر أمثلة التعليمات البرمجية). بالنسبة لترميزات ذات أطوال متغيرة مثل UTF-8 و UTF-16 و Shift-JIS ، قد يكون من الضروري حذف مواضع السلسلة في النهاية لتجنب السلاسل غير الصالحة.
شكلاللغات
string(string'First..string'First+n - 1)آدا
substr(string, 0, n)AWK (يغير السلسلة النصية)، بيرل ، PHP ، راكو
LEFT$(string,n)لغة بيسك ، لغة فيجوال بيسك
left(string,n)VB ، FreeBASIC ، Ingres ، Pick Basic
strncpy(string2, string, n)مكتبة C القياسية
string.substr(0,n)C++ (STL)، راكو
[string substringToIndex:n]لغة البرمجة Objective-C ( NSString *فقط)
(apply str (takenstring))كلوجر
string[0 .. n]د [ 27 ]
string:substr(string, start, length)إرلانغ
(subseq string 0 n)لغة الشفرة الشائعة
string[:n]كوبرا ، جو ، بايثون
left(string,n «,padchar»)ريكس ، إيرلانغ
string[0, n]string[0..n - 1]روبي
string[1, n]اختر الأساسي
string[ .. n]سيد7
string.Substring(0,n)VB .NET ، C# ، Windows PowerShell ، F#
leftstr(string, n)باسكال ، أوبجكت باسكال ( دلفي )
copy (string,1,n)توربو باسكال
string.substring(0,n)جافا ، [ 28 ] جافا سكريبت
(string-take stringn)المخطط (SRFI 13)
take nstringهاسكل
String.extract (string, n, NONE)لغة الآلة القياسية
String.sub string 0 nOCaml [ 29 ]
string.[..n]فا#
string.sub(string, 1, n)(string):sub(1, n)لغة لوا
string first: nالمحادثات القصيرة ( سكويك ، فارو )
string(:n)فورتران
StringTake[string, n]Mathematica [ 30 ]
string («FUNCTION» LENGTH(string) - n:n)كوبول
string.substring(0, n)الكوبرا
nstring.APL
string[0..n]string[..n]string.get(0..n)string.get(..n)الصدأ [ 31 ]
# مثال في راكو "Hello, there!" . substr ( 0 , 6 ); # يُرجع "Hello,
/* أمثلة بلغة Rexx */ left ( "abcde" , 3 ) /* تُرجع "abc" */ left ( "abcde" , 8 ) /* تُرجع "abcde " */ left ( "abcde" , 8 , "*" ) /* تُرجع "abcde***" */
أمثلة في لغة Scheme ( استخدام الوحدات ( srfi srfi-13 )) ( أخذ السلسلة "abcde" ، 3 ) ؛ تُرجع "abc" ( أخذ السلسلة "abcde" ، 8 ) ؛ خطأ
أمثلة في فيجوال بيسك: Left ( "sandroguidi" , 3 ) تُرجع "san" Left ( "sandroguidi" , 100 ) تُرجع "sandroguidi"

لين

انظر طول المنزل

طول

تعريفlength(string)تُرجع عددًا صحيحًا
وصفتُعيد هذه الدالة طول السلسلة النصية (باستثناء حرف الإنهاء الفارغ وأي معلومات هيكلية داخلية أخرى للسلسلة). أما السلسلة النصية الفارغة، فيُعاد طولها صفر.
شكلالمرتجعاتاللغات
string'Lengthآدا
UPB stringALGOL 68
echo "${#string_param}"سحق
length(string)إنجريس ، بيرلباسكال ، أوبجكت باسكال ( دلفيريكس ، سيد7 ، إس كيو إل ، بي إل/آي
len(string)لغة بيسك ، فري بيسك ، بايثون ، جو ، اختر بيسك
length(string), string:len(string)إرلانغ
Len(string)VB ، اختر الأساسي
string.Lengthعدد وحدات ترميز UTF-16VB .NET ، C# ، Windows PowerShell ، F#
chars(string)string.charsعدد الوحدات الكتابية (NFG)راكو
codes(string)string.codesعدد نقاط ترميز يونيكودراكو
string.size OR string.lengthعدد البايتات [ 32 ]روبي
strlen(string)عدد البايتاتلغة C ، لغة PHP
string.length()لغة C++ (STL)
string.lengthكوبرا ، دي ، جافا سكريبت
string.length()عدد وحدات ترميز UTF-16جافا
(string-length string)مخطط
(length string)لغة Common Lisp ، لغة ISLISP
(count string)كلوجر
String.length stringأوكاميل
size stringلغة الآلة القياسية
length stringعدد نقاط ترميز يونيكودهاسكل
string.lengthعدد وحدات ترميز UTF-16لغة البرمجة Objective-C ( NSString *فقط)
string.characters.countعدد الأحرفسويفت (2.x)
count(string)عدد الأحرفسويفت (1.2)
countElements(string)عدد الأحرفسويفت (1.0–1.1)
string.len(string)(string):len()#stringلغة لوا
string sizeأحاديث قصيرة
LEN(string)LEN_TRIM(string)فورتران
StringLength[string]ماثيماتيكا
«FUNCTION» LENGTH(string)أو

«FUNCTION» BYTE-LENGTH(string)

عدد الأحرف وعدد البايتات، على التواليكوبول
string length stringسلسلة عشرية تحدد عدد الأحرفتي سي إل
stringAPL
string.len()عدد البايتاتالصدأ [ 33 ]
string.chars().count()عدد نقاط ترميز يونيكودالصدأ [ 34 ]
// أمثلة بلغة C#: " hello " .Length ; // تُرجع 5 """ .Length ; // تُرجع 0
# أمثلة في لغة إرلانج : string: len ( "hello" ). % تُرجع 5 string : len ( "" ). % تُرجع 0
# أمثلة في بيرل 5 length ( "hello" ); # تُرجع 5 length ( "" ); # تُرجع 0
أمثلة في راكو "" . chars ; chars "" ; كلاهما يُرجع 0 "" . codes ; codes "" ; كلاهما يُرجع 0
أمثلة في فيجوال بيسك: `Len ( "hello" ) ` تُرجع 5، و`Len ( "" ) ` تُرجع 0.
// أمثلة بلغة Objective-C [ @"hello" Length ] // تُرجع 5 [ @"" Length ] // تُرجع 0
-- أمثلة في لغة Lua ( "hello" ): len () -- تُرجع 5 # "" -- تُرجع 0

تحديد الموقع

انظر #ابحث

أحرف صغيرة

تعريفlowercase(string)سلسلة نصية مُعادة
وصفيُعيد السلسلة بأحرف صغيرة.
شكلاللغات
LCase(string)VB
lcase(string)فري بيسيك
lc(string)بيرل ، راكو
string.lcراكو
tolower(char)ج [ 35 ]
std.string.toLower(string)د
transform(string.begin(), string.end(), result.begin(), ::tolower)[ 36 ]C++ [ 37 ]
lowercase(string)أوبجكت باسكال ( دلفي )
strtolower(string)PHP
lower(string)سيد7
${string_param,,}سحق
echo "string" |tr 'A-Z' 'a-z'يونكس
string.lower()بايثون
downcase(string)اختر الأساسي
string.downcaseروبي [ 38 ]
strings.ToLower(string)يذهب
(string-downcase string)مخطط (R6RS)، لغة ليسب الشائعة
(lower-case string)كلوجر
String.lowercase stringأوكاميل
String.map Char.toLower stringلغة الآلة القياسية
map Char.toLower stringهاسكل
string.toLowerCase()جافا ، جافا سكريبت
to_lower(string)إرلانغ
string.ToLower()VB .NET ، C# ، Windows PowerShell ، F#
string.lowercaseStringأوبجكتيف-سي ( NSString *فقط)، سويفت (فاونديشن)
string.lower(string)(string):lower()لغة لوا
string asLowercaseأحاديث قصيرة
LOWER(string)SQL
lowercase(string)PL/I [ 9 ]
ToLowerCase[string]ماثيماتيكا
«FUNCTION» LOWER-CASE(string)كوبول
string.toLowerالكوبرا
string tolower stringتي سي إل
string.to_lowercase()الصدأ [ 39 ]
// مثال بلغة C#: "هل تعني كلمة Wiki السرعة؟" . ToLower (); // "هل تعني كلمة Wiki السرعة؟"
مثال في لغة Scheme ( استخدام الوحدات ( srfi srfi-13 )) ( سلسلة نصية بأحرف صغيرة "Wiki تعني سريع؟" ) ؛ "wiki تعني سريع؟"
/* مثال بلغة C */ #include <ctype.h> #include <stdio.h>int main ( void ) { char s [] = "Wiki means fast?" ; for ( int i = 0 ; i < sizeof ( s ) - 1 ; ++ i ) { // تحويل الأحرف في مكانها، حرفًا حرفًا s [ i ] = tolower ( s [ i ]); } printf ( string ); // "wiki means fast?" return 0 ; }
# مثال في راكو "ويكي تعني سريع؟" . lc ; "ويكي تعني سريع؟"

منتصف

انظر سلسلة فرعية

تقسيم

تعريف<string>.partition( separator ) تُرجع السلسلة الفرعية قبل الفاصل؛ الفاصل؛ ثم السلسلة الفرعية بعد الفاصل.
وصفيقسم السلسلة المعطاة بواسطة الفاصل ويعيد السلاسل الفرعية الثلاث التي تشكل معًا السلسلة الأصلية.
شكلاللغاتتعليقات
string.partition(separator)بايثون ، روبي (1.9+)
lists:partition(pred, string)إرلانغ
split /(separator)/, string, 2بيرل 5
split separator, string, 2string.split( separator, 2 )راكولا يشترط أن يكون الفاصل تعبيرًا منتظمًا
# أمثلة في بايثون "Spam eggs spam spam and ham" .partition ( 'spam' ) # ('Spam eggs ', 'spam', 'spam and ham') "Spam eggs spam spam and ham" .partition ( 'X' ) # ('Spam eggs spam spam and ham', "", "")
# أمثلة في بيرل 5 / راكو split /(spam)/ , 'Spam eggs spam spam and ham' , 2 ; # ('Spam eggs ', 'spam', ' spam and ham'); split /(X)/ , 'Spam eggs spam spam and ham' , 2 ; # ('Spam eggs spam spam and ham');

يستبدل

تعريفreplace(string, find, replace)سلسلة نصية مُعادة
وصفتُعيد هذه الدالة سلسلة نصية مع تغيير نتائج البحث لاستبدالها بـ .
شكلاللغات
changestr(find, string, replace)ريكس
std.string.replace(string, find, replace)د
Replace(string, find, replace)VB
replace(string, find, replace)سيد7
change(string, find, replace)اختر الأساسي
string.Replace(find, replace)سي شارب ، إف شارب ، في بي دوت نت
str_replace(find, replace, string)PHP
re:replace(string, find, replace, «{return, list}»)إرلانغ
string.replace(find, replace)كوبرا ، جافا (1.5+)، بايثون ، راست [ 40 ]
string.replaceAll(find_regex, replace)[41]جافا
string.gsub(find, replace)روبي
string =~ s/find_regex/replace/g[41]بيرل 5
string.subst(find, replace, :g)راكو
string.replace(find, replace, "g") [42]string.replace(/find_regex/g, replace)[41]جافا سكريبت
echo "string" |sed 's/find_regex/replace/g'[41]يونكس
${string_param//find_pattern/replace}سحق
string.replace(find, replace)string -replace find_regex, replace[41]ويندوز باور شيل
Str.global_replace (Str.regexp_string find) replacestringأوكاميل
[string stringByReplacingOccurrencesOfString:find withString:replace]لغة البرمجة Objective-C ( NSString *فقط)
string.stringByReplacingOccurrencesOfString(find, withString:replace)سويفت (الأساسية)
string.gsub(string, find, replace)(string):gsub(find, replace)لغة لوا
string copyReplaceAll: find with: replaceالمحادثات القصيرة ( سكويك ، فارو )
string map {findreplace} stringتي سي إل
StringReplace[string, find -> replace]ماثيماتيكا
strings.Replace(string, find, replace, -1)يذهب
INSPECT string REPLACING ALL/LEADING/FIRST find BY replaceكوبول
find_regex ⎕R replace_regexstringAPL
// أمثلة بلغة C#: " effffff" .Replace ( "f" , "jump" ); // تُرجع "ejumpjumpjumpjumpjumpjump" "blah" .Replace ( " z" , "y" ); // تُرجع "blah"
// أمثلة بلغة جافا : "effffff" .replace ( "f" , "jump" ); // تُرجع "ejumpjumpjumpjumpjumpjump" "effffff" .replaceAll ( " f*" , "jump" ); // تُرجع "ejump"
// أمثلة في راكو "effffff" .subst ( "f" , "jump" , : g ); # تُرجع "ejumpjumpjumpjumpjumpjump" "blah" .subst ( " z" , "y" , : g ) ; # تُرجع "blah"
أمثلة في فيجوال بيسك: استبدال ( "effffff" , "f" , "jump" ) ' يُرجع "ejumpjumpjumpjumpjumpjump" استبدال ( "blah" , "z" , "y" ) ' يُرجع "blah"
# أمثلة في ويندوز باور شيل "effffff" -replace "f" , "jump" # تُرجع "ejumpjumpjumpjumpjumpjump" "effffff" -replace "f*" , "jump" # تُرجع "ejump"

يعكس

تعريفreverse(string)
وصفيعكس ترتيب الأحرف في السلسلة.
شكلاللغات
reverse stringبيرلهاسكل
flip stringstring.flipراكو
lists:reverse(string)إرلانغ
strrev(string)PHP
string[::-1]بايثون
(string-reverse string)المخطط (SRFI 13)
(reverse string)لغة الشفرة الشائعة
string.reverseروبي ، D (تعديل السلسلة النصية)
new StringBuilder(string).reverse().toString()جافا
std::reverse(string.begin(), string.end());لغة C++ ( std::stringفقط، لتعديل السلسلة النصية)
StrReverse(string)VB
string.Reverse()VB .NET ، C#
implode (rev (explode string))لغة الآلة القياسية
string.split("").reverse().join("")جافا سكريبت
string.reverse(string)(string):reverse()لغة لوا
string reverseأحاديث قصيرة
StringReverse[string]ماثيماتيكا
reverse(string)PL/I
«FUNCTION»REVERSE(string)كوبول
string.toCharArray.toList.reversed.join()الكوبرا
String(string.characters.reverse())سويفت (2.x)
String(reverse(string))سويفت (1.2)
string reverse stringتي سي إل
stringAPL
string.chars().rev().collect::<String>()الصدأ [ 43 ]
echo string| revيونكس
"مثال في لغة سمول توك: " عكس كلمة 'hello' " يُرجع 'olleh'"
مثال في بيرل 5 لعكس كلمة "hello" يُرجع "olleh"
# مثال في راكو "hello" .flip # يُرجع "olleh "
# مثال في بايثون "hello" [:: - 1 ] # يُرجع "olleh"
مثال في لغة Scheme ( استخدام الوحدات ( srfi srfi-13 )) ( عكس السلسلة "hello" ) ؛ يُرجع "olleh"

rfind

تعريفrfind(string,substring)تُرجع عددًا صحيحًا
وصفتُعيد هذه الدالة موضع بداية آخر ظهور للسلسلة الفرعية في السلسلة النصية . إذا لم يتم العثور على السلسلة الفرعية، فإن معظم هذه الدوال تُعيد قيمة فهرس غير صالحة - -1 حيث تبدأ الفهارس من الصفر، و0 حيث تبدأ من الواحد - أو قيمة تُفسَّر على أنها خطأ منطقي (FALSE).
متعلق بآلة موسيقية
شكلاللغاتفي حالة عدم العثور عليه
InStrRev(«startposstring,substring)VBيُرجع 0
instrrev(«startposstring,substring)فري بيسيكيُرجع 0
rindex(string,substring«,startpos»)بيرل 5يُرجع -1
rindex(string,substring«,startpos»)string.rindex(substring«,startpos»)راكولا توجد نتائج
strrpos(string,substring«,startpos»)PHPيُرجع خطأ
string.rfind(substring«,startpos»)لغة C++ (STL)تُرجع std::string::npos
std.string.rfind(string, substring)ديُرجع -1
string.rfind(substring«,startpos«, endpos»»)بايثونيُرجع -1
string.rindex(substring«,startpos«, endpos»»)يُثير خطأ القيمة
rpos(string, substring«,startpos»)سيد7يُرجع 0
string.rindex(substring«,startpos»)روبيلا يُرجع قيمة
strings.LastIndex(string, substring)يذهبيُرجع -1
string.lastIndexOf(substring«,startpos»)جافا ، جافا سكريبتيُرجع -1
string.LastIndexOf(substring«,startpos«, charcount»»)VB .NET ، C# ، Windows PowerShell ، F#يُرجع -1
(search substringstring :from-end t)لغة الشفرة الشائعةلا يُرجع أي شيء
[string rangeOfString:substring options:NSBackwardsSearch].locationلغة البرمجة Objective-C ( NSString *فقط)تُرجع NSNotFound
Str.search_backward (Str.regexp_string substring) string (Str.length string - 1)أوكاميليُثير خطأ Not_found
string.match(string, '.*()'..substring)string:match('.*()'..substring)لغة لوالا يُرجع قيمة
Ada.Strings.Unbounded.Index(Source => string, Pattern => substring, Going => Ada.Strings.Backward)آدايُرجع 0
string.lastIndexOf(substring«,startpos«, charcount»»)الكوبرايُرجع -1
string lastIndexOfString:substringأحاديث قصيرةيُرجع 0
string last substring string startposتي سي إليُرجع -1
(⌽<\substring'string')1APLيُرجع -1
string.rfind(substring)الصدأ [ 44 ]لا يُرجع أي قيمة
أمثلة في لغة Common Lisp : ( search "e" "Hello mate" :from-end t ) ; تُرجع 9؛ ( search "z" "word" :from-end t ) ; تُرجع NIL
// أمثلة بلغة C#: " Hello mate" .LastIndexOf ( "e" ); // تُرجع 9، " Hello mate" .LastIndexOf ( "e" , 4 ); // تُرجع 1، " word" .LastIndexOf ( "z" ); // تُرجع -1
# أمثلة في بيرل 5 rindex ( "Hello mate" , "e" ); # تُرجع 9 rindex ( "Hello mate" , "e" , 4 ); # تُرجع 1 rindex ( "word" , "z" ); # تُرجع -1
# أمثلة في راكو "Hello mate" .rindex ( "e" ); # تُرجع 9 "Hello mate" .rindex ( " e" , 4 ); # تُرجع 1 "word" .rindex ( ' z' ); # تُرجع Nil
أمثلة في فيجوال بيسك: InStrRev ( "Hello mate" , "e" ) تُرجع 10 ، InStrRev ( 5 , "Hello mate" , "e" ) تُرجع 2، InStrRev ( "word" , "z" ) تُرجع 0

تعريفright(string,n)سلسلة نصية مُعادة
وصفتُعيد هذه الدالة الجزء الأيمن (n) من السلسلة النصية. إذا كان n أكبر من طول السلسلة، فإن معظم التطبيقات تُعيد السلسلة كاملةً (توجد استثناءات - انظر أمثلة التعليمات البرمجية).
شكلاللغات
string(string'Last-n+1..string'Last)آدا
Right(string,n)VB
RIGHT$(string,n)أساسي
right(string,n)FreeBASIC ، Ingres ، Pick Basic
strcpy(string2, string+n)( يجب ألا يتجاوز n طول السلسلة )ج
string.Substring(string.Length()-n)سي شارب
string[len(string)-n:]يذهب
string.substring(string.length()-n)جافا
string.slice(-n)جافا سكريبت [ 45 ]
right(string,n «,padchar»)ريكس ، إيرلانغ
substr(string,-n)بيرلبي إتش بي
substr(string,*-n)string.substr(*-n)راكو
string[-n:]الكوبرا ، البايثون
${string_param: -n}(توجد مسافة بعد النقطتين الرأسيتين)سحق
string[n]اختر الأساسي
(string-take-right stringn)المخطط (SRFI 13)
string[-n..-1]روبي
string[$-n .. $]د [ 46 ]
String.sub string (String.length string - n) nOCaml [ 29 ]
string.sub(string, -n)(string):sub(-n)لغة لوا
string last: nالمحادثات القصيرة ( سكويك ، فارو )
StringTake[string, -n]Mathematica [ 30 ]
string (1:n)كوبول
¯nstring.APL
string[n..]string.get(n..)الصدأ [ 31 ]
// أمثلة بلغة جافا؛ استخراج الأحرف الأربعة الأخيرة String str = "CarDoor" ; str . substring ( str . length () - 4 ); // تُرجع 'Door'
# أمثلة في راكو "abcde" .substr (*- 3 ); # تُرجع "cde" " abcde " .substr (*- 8 ); # خطأ " خارج النطاق"
/* أمثلة بلغة Rexx */ right ( "abcde" , 3 ) /* تُرجع "cde" */ right ( "abcde" , 8 ) /* تُرجع "abcde" */ right ( "abcde" , 8 , "*" ) /* تُرجع "***abcde" */
أمثلة في لغة Scheme ( استخدام الوحدات ( srfi srfi-13 )) ( سلسلة نصية تأخذ اليمين "abcde" ، 3 ) ؛ تُرجع "cde" ( سلسلة نصية تأخذ اليمين "abcde" ، 8 ) ؛ خطأ
أمثلة في فيجوال بيسك: Right ( "sandroguidi" , 3 ) تُرجع "idi" و Right ( "sandroguidi" , 100 ) تُرجع "sandroguidi"

التقسيم

تعريف<string>.rpartition( separator ) يبحث عن الفاصل من اليمين إلى اليسار داخل السلسلة ثم يعيد السلسلة الفرعية قبل الفاصل؛ الفاصل؛ ثم السلسلة الفرعية بعد الفاصل.
وصفيقسم السلسلة المعطاة بواسطة الفاصل الموجود في أقصى اليمين ويعيد السلاسل الفرعية الثلاث التي تشكل معًا السلسلة الأصلية.
شكلاللغات
string.rpartition(separator)بايثون ، روبي
# أمثلة بلغة بايثون "Spam eggs spam spam and ham" . rpartition ( 'spam' ) ### ('Spam eggs spam ', 'spam', ' and ham') "Spam eggs spam spam and ham" . rpartition ( 'X' ) ### ("", "", 'Spam eggs spam spam and ham')

شريحة

انظر سلسلة فرعية

ينقسم

تعريفتقوم الدالة <string>.split( separator [, limit ]) بتقسيم سلسلة نصية بناءً على الفاصل، ويمكنها اختيارياً تقسيمها إلى عدد محدود من السلاسل الفرعية.
وصفتقسم هذه الدالة السلسلة النصية المُعطاة بناءً على عدد مرات ظهور الفاصل (وهو نفسه سلسلة نصية) وتُعيد قائمة (أو مصفوفة) من السلاسل الفرعية. إذا تم تحديد قيمة `limit` ، فبعد قراءة `limit - 1` فاصلًا، يتم تحويل باقي السلسلة إلى السلسلة الفرعية الأخيرة، بغض النظر عما إذا كانت تحتوي على فواصل أم لا. تتشابه تطبيقات Scheme وErlang، لكنها تختلف في عدة جوانب. يختلف JavaScript أيضًا في أنه يقطع السلسلة، ولا يضع باقي السلسلة في العنصر الأخير. انظر المثال هنا . سيستخدم تطبيق Cobra المسافات البيضاء افتراضيًا. عكس دالة ` join` .
شكلاللغات
split(/separator/, string«, limit»)بيرل 5
split(separator, string«, limit»)string.split(separator, «limit»)راكو
explode(separator, string«, limit»)PHP
string.split(separator«, limit-1»)بايثون
string.split(separator«, limit»)جافا سكريبت ، جافا ، روبي
string:tokens(string, sepchars)إرلانغ
strings.Split(string, separator)strings.SplitN(string, separator, limit)يذهب
(string-tokenize string« charset« start« end»»»)المخطط (SRFI 13)
Split(string, sepchars«, limit»)VB
string.Split(sepchars«, limit«, options»»)VB .NET ، C# ، F#
string -split separator«, limit«, options»»ويندوز باور شيل
Str.split (Str.regexp_string separator) stringأوكاميل
std.string.split(string, separator)د
[string componentsSeparatedByString:separator]لغة البرمجة Objective-C ( NSString *فقط)
string.componentsSeparatedByString(separator)سويفت (الأساسية)
TStringList.Delimiter, TStringList.DelimitedTextأوبجكت باسكال
StringSplit[string, separator«, limit»]ماثيماتيكا
string.split«(sepchars«, limit«, options»»)»الكوبرا
split string separatorتي سي إل
(separatorstring)⊂stringفي APL2 في Dyalog APL 16.0separator(≠⊆⊢)stringAPL
string.split(separator)

string.split(limit, separator)

الصدأ [ 47 ]
// مثال في لغة C#: " abc,defgh,ijk" .Split ( ' ,' ); // {"abc", "defgh", "ijk"} "abc,defgh;ijk" .Split ( ',' , ';' ); // {"abc", "defgh", "ijk"}
مثال في لغة إرلانج: سلسلة نصية : tokens ( "abc;defgh;ijk" , ";" ). % ["abc", "defgh", "ijk"]
// أمثلة في جافا "abc,defgh,ijk" .split ( "," ); // {"abc", "defgh", "ijk"} "abc,defgh;ijk" .split ( ", " |" ); // {"abc", "defgh", "ijk" }
{ مثال بلغة باسكال } var lStrings : TStringList ; lStr : string ; begin lStrings := TStringList . Create ; lStrings . Delimiter := ',' ; lStrings . DelimitedText := 'abc,defgh,ijk' ; lStr := lStrings . Strings [ 0 ] ; // 'abc' lStr := lStrings . Strings [ 1 ] ; // 'defgh' lStr := lStrings . Strings [ 2 ] ; // 'ijk' end ;
# أمثلة في بيرل 5 split ( /spam/ , 'Spam eggs spam spam and ham' ); # ('Spam eggs ', ' ', ' and ham') split ( /X/ , 'Spam eggs spam spam and ham' ); # ('Spam eggs spam spam and ham')
# أمثلة في راكو : 'Spam eggs spam spam and ham' . split ( /spam/ ); # (Spam eggs and ham) split ( /X/ , 'Spam eggs spam spam and ham' ); # (Spam eggs spam spam and ham)

sprintf

انظر إلى التنسيق

يجرد

انظر ستريم

strcmp

انظر #مقارنة (نتيجة عددية صحيحة)

سلسلة فرعية

تعريفsubstring(string, startpos, endpos)يُرجع سلسلة نصيةsubstr(string, startpos, numChars)
وصفتُعيد هذه الدالة جزءًا من سلسلة نصية بين الموضعين startpos و endpos ، أو جزءًا من سلسلة نصية طولها numChars تبدأ من الموضع startpos . يتم اقتطاع السلسلة الناتجة إذا كان عدد الأحرف المتبقية بعد الموضع startpos أقل من numChars . يُمثل endpos فهرس الحرف الأخير في السلسلة الفرعية. بالنسبة لترميزات ذات أطوال متغيرة مثل UTF-8 و UTF-16 و Shift-JIS ، قد يكون من الضروري حذف مواضع السلسلة في النهاية لتجنب السلاسل غير الصالحة.
شكلاللغات
string[startpos:endpos]ALGOL 68 (تغييرات في فهرس الأساس)
string (startpos .. endpos)أدا (تغييرات في فهرس القاعدة)
Mid(string, startpos, numChars)VB
mid(string, startpos, numChars)فري بيسيك
string[startpos+(⍳numChars)-~⎕IO]APL
MID$(string, startpos, numChars)أساسي
substr(string, startpos, numChars)AWK (تغيير السلسلة النصية)، Perl[ 48 ] [ 49 ] PHP [ 48 ] [ 49 ]
substr(string, startpos, numChars)string.substr(startpos, numChars)راكو [ 50 ] [ 51 ]
substr(string, startpos «,numChars, padChar»)PL/I
substr(string, startpos «,numChars, padChar»)ريكس
string[startpos:endpos]كوبرا ، بايثون ، [ 48 ] [ 52 ] جو
string[startpos, numChars]اختر الأساسي
string[startpos, numChars]string[startpos .. endpos-1]string[startpos ... endpos]روبي [ 48 ] [ 52 ]
string[startpos .. endpos]string[startpos len numChars]سيد7
string.slice(startpos«, endpos»)جافا سكريبت [ 48 ] [ 52 ]
string.substr(startpos«, numChars»)لغة C++ (STL)، جافا سكريبت
string.Substring(startpos, numChars)VB .NET ، C# ، Windows PowerShell ، F#
string.substring(startpos«, endpos»)جافا ، جافا سكريبت
copy(string, startpos, numChars)أوبجكت باسكال ( دلفي )
(substring stringstartposendpos)مخطط
(subseq stringstartposendpos)لغة الشفرة الشائعة
(subseq stringstartposendpos)لغة ISLISP
String.sub stringstartposnumCharsأوكاميل
substring (string, startpos, numChars)لغة الآلة القياسية
string:sub_string(string, startpos, endpos)string:substr(string, startpos, numChars)إرلانغ
strncpy(result, string + startpos, numChars);ج
string[startpos .. endpos+1]د
take numChars $ drop startposstringهاسكل
[string substringWithRange:NSMakeRange(startpos, numChars)]لغة البرمجة Objective-C ( NSString *فقط)
string.[startpos..endpos]فا#
string.sub(string, startpos, endpos)(string):sub(startpos, endpos)Lua [ 48 ] [ 52 ]
string copyFrom: startpos to: endposأحاديث قصيرة
string(startpos:endpos)فورتران
SUBSTRING(string FROM startpos «FOR numChars»)SQL
StringTake[string, {startpos, endpos}]Mathematica [ 48 ] [ 52 ]
string (startpos:numChars)كوبول
${string_param:startpos:numChars}سحق
string range string startpos endposتي سي إل
string[startpos..endpos]string.get(startpos..endpos)الصدأ [ 31 ]
// أمثلة بلغة C# : `"abc" .Substring ( 1 , 1 )`: // تُرجع "b" ` "abc" .Substring ( 1 , 2 )`: // تُرجع "bc" ` " abc " .Substring ( 1 , 6 ) ` : // خطأ
أمثلة في لغة Common Lisp : ( subseq "abc" 1 2 ) ; تُرجع "b" ( subseq "abc" 2 ) ; تُرجع "c"
أمثلة في لغة إرلانج : string : substr ( "abc" , 2 , 1 ). % تُرجع "b" string : substr ( "abc" , 2 ). % تُرجع "bc"
# أمثلة في بيرل 5 substr ( "abc" , 1 , 1 ); # تُرجع "b" substr ( "abc" , 1 ); # تُرجع "bc"
# أمثلة في راكو "abc" .substr ( 1 , 1 ); # تُرجع "b" " abc " .substr ( 1 ); # تُرجع "bc"
# أمثلة في بايثون "abc" [ 1 : 2 ] # تُرجع "b" "abc" [ 1 : 3 ] # تُرجع "bc"
/* أمثلة بلغة Rexx */ substr ( "abc" , 2 , 1 ) /* تُرجع "b" */ substr ( "abc" , 2 ) /* تُرجع "bc" */ substr ( "abc" , 2 , 6 ) /* تُرجع "bc " */ substr ( "abc" , 2 , 6 , "*" ) /* تُرجع "bc****" */

أحرف كبيرة

تعريفuppercase(string)سلسلة نصية مُعادة
وصفيُعيد السلسلة بأحرف كبيرة.
شكلاللغات
UCase(string)VB
ucase(string)فري بيسيك
toupper(string)AWK (يغير السلسلة النصية)
uc(string)بيرل ، راكو
string.ucراكو
toupper(char)ج (يعمل على حرف واحد)
for(size_ti=0,len=strlen(string); i< len; i++) string[i] = toupper(string[i]);for(char*c=string;*c!='\0';c++)*c=toupper(*c);C (سلسلة نصية / مصفوفة أحرف)
std.string.toUpper(string)د
transform(string.begin(), string.end(), result.begin(), toupper)[36]C++ [ 53 ]
uppercase(string)أوبجكت باسكال ( دلفي )
upcase(char)كائن باسكال ( دلفي ) (يعمل على حرف واحد)
strtoupper(string)PHP
upper(string)سيد7
${string_param^^}(للتذكير: ^ يشير إلى الأعلى)سحق
echo "string" |tr 'a-z' 'A-Z'يونكس
translate(string)UPPER variablesPARSEUPPERVARSrcVarDstVarريكس
string.upper()بايثون
upcase(string)اختر الأساسي
string.upcaseروبي [ 38 ]
strings.ToUpper(string)يذهب
(string-upcase string)سكيم ، كومون ليسب
String.uppercase stringأوكاميل
String.map Char.toUpper stringلغة الآلة القياسية
map Char.toUpper stringهاسكل
string.toUpperCase()جافا ، جافا سكريبت
string.uppercase()كوتلين [ 54 ]
to_upper(string)إرلانغ
string.ToUpper()VB .NET ، C# ، Windows PowerShell ، F#
string.uppercaseStringأوبجكتيف-سي ( NSString *فقط)، سويفت (فاونديشن)
string.upper(string)(string):upper()لغة لوا
string asUppercaseأحاديث قصيرة
UPPER(string)SQL
ToUpperCase[string]ماثيماتيكا
«FUNCTION»UPPER-CASE(string)كوبول
string.toUpperالكوبرا
string toupper stringتي سي إل
string.to_uppercase()الصدأ [ 55 ]
// مثال بلغة C# "هل تعني كلمة Wiki السرعة؟" . ToUpper (); // "هل تعني كلمة WIKI السرعة؟"
# مثال في بيرل 5 uc ( "هل تعني ويكي السرعة؟" ); # "هل تعني ويكي السرعة؟"
# مثال في راكو uc ( "هل تعني كلمة ويكي السرعة؟" ); # "هل تعني كلمة ويكي السرعة؟" "هل تعني كلمة ويكي السرعة؟" . uc ; # "هل تعني كلمة ويكي السرعة؟"
/* مثال في Rexx */ ترجمة ( "ويكي تعني سريع؟" ) /* "ويكي تعني سريع؟" *//* مثال رقم ٢ */ أ = 'هذا مثال.' أ كبير /* "هذا مثال." *//* مثال رقم 3 */ A = 'upper using Translate Function.' Translate UPPER VAR A Z /* Z="UPPER USING TRANSLATE FUNCTION." */
مثال في لغة Scheme ( استخدام الوحدات ( srfi srfi-13 )) ( تحويل الأحرف إلى أحرف كبيرة "Wiki يعني سريع؟" ) ؛ "WIKI يعني سريع؟"
مثال في فيجوال بيسك UCase ( "Wiki تعني سريع؟" ) "WIKI تعني سريع؟"

تقليم

trimأو stripيستخدم لإزالة المسافات البيضاء من بداية السلسلة أو نهايتها أو كليهما.

مثال على الاستخداماللغات
String.Trim([chars])سي شارب ، في بي.نت ، ويندوز باور شيل
string.strip();د
(.trim string)كلوجر
sequence [ predicate? ] trimعامل
(string-trim'(#\Space#\Tab#\Newline)string)لغة الشفرة الشائعة
(string-trim string)مخطط
string.trim()جافا ، جافا سكريبت (1.8.1+، فايرفوكس 3.5+)، رست [ 56 ]
Trim(String)باسكال ، [ 57 ] كيو بيسك ، فيجوال بيسك ، دلفي
string.strip()بايثون
strings.Trim(string, chars)يذهب
LTRIM(RTRIM(String))أوراكل SQL ، تي-SQL
strip(string [,option, char])ريكس
string:strip(string [,option, char])إرلانغ
string.stripstring.lstripstring.rstripروبي
string.trimراكو
trim(string)PHP ، راكو
[stringstringByTrimmingCharactersInSet:[NSCharacterSetwhitespaceAndNewlineCharacterSet]]لغة Objective-C باستخدام Cocoa
string withBlanksTrimmedstring withoutSpacesstring withoutSeparatorsالمحادثات القصيرة ( سكويك ، فارو )
strip(string)ساس
string trim $stringتي سي إل
TRIM(string)TRIM(ADJUSTL(string))فورتران
TRIM(string)SQL
TRIM(string)LTrim(string)RTrim(String)كولد فيوجن
String.trim stringOCaml 4+

لغات أخرى

في اللغات التي لا تحتوي على وظيفة تقليم مدمجة، عادة ما يكون من السهل إنشاء وظيفة مخصصة تنجز نفس المهمة.

APL

يمكن استخدام التعبيرات النمطية مباشرةً في لغة APL :

قص '^ +| +$' ⎕R ''

أو بدلاً من ذلك، يمكن اتباع نهج وظيفي يجمع بين أقنعة منطقية تقوم بتصفية المسافات البادئة واللاحقة:

Trim { /⍨ ( \ ⌽∨ \∘ ) ' ' }

أو اعكس العملية وأزل المسافات البادئة، مرتين:

قص { ( \ ' ' ) / } 2

أوك

في لغة AWK ، يمكن استخدام التعابير النمطية للتقليم:

ltrim ( v ) = gsub ( /^[ \t]+/ , "" , v ) rtrim ( v ) = gsub ( /[ \t]+$/ , "" , v ) Trim ( v ) = ltrim ( v ); ريتريم ( ت )

أو:

دالة ltrim ( s ) { sub ( /^[\t]+/ , "" , s ); return s } دالة rtrim ( s ) { sub ( /[\t]+$/ , "" , s ); return s } دالة trim ( s ) { return rtrim ( ltrim ( s )); }

لغة C/C++

لا توجد دالة تقليم قياسية في لغتي C أو C++. تحتوي معظم مكتبات السلاسل النصية المتاحة [ 58 ] للغة C على شيفرة تُنفذ عملية التقليم، أو دوال تُسهّل بشكل كبير تنفيذها بكفاءة. وقد يُطلق على هذه الدالة أيضًا اسم EatWhitespace في بعض مكتبات C غير القياسية.

في لغة C، غالباً ما يجمع المبرمجون بين دالتي ltrim و rtrim لتنفيذ عملية الحذف:

#include <ctype.h> #include <string.h>void rtrim ( char * str ) { char * s ; s = str + strlen ( str ); while ( -- s >= str ) { if ( ! isspace ( * s )) { break ; } * s = 0 ; } }void ltrim ( char * str ) { size_t n ; n = 0 ; while ( str [ n ] && isspace (( unsigned char ) str [ n ])) { n ++ ; } memmove ( str , str + n , strlen ( str ) - n + 1 ); }void trim ( char * str ) { rtrim ( str ); ltrim ( str ); }

تحتوي مكتبة Boost مفتوحة المصدر للغة C++ على العديد من متغيرات التقليم، بما في ذلك متغير قياسي: [ 59 ]

#include <boost/algorithm/string/trim.hpp>trimmed = boost :: algorithm :: trim_copy ( "string" );

مع دالة boost المسماة ببساطة، trimيتم تعديل تسلسل الإدخال في مكانه، ولا يتم إرجاع أي نتيجة.

مكتبة Qt مفتوحة المصدر أخرى مكتوبة بلغة C++ ، ولها عدة متغيرات تقليم، بما في ذلك متغير قياسي: [ 60 ]

#include <QString>trimmed = s . trimmed ();

تتضمن نواة لينكس أيضًا دالة strip، strstrip()منذ الإصدار 2.6.18-rc1، والتي تقوم بحذف السلسلة النصية "في مكانها". ومنذ الإصدار 2.6.33-rc1، تستخدم النواة دالة strip strim()بدلاً من strstrip()دالة strip لتجنب التحذيرات الخاطئة. [ 61 ]

هاسكل

خوارزمية تقليم في لغة هاسكل :

استوردنا Data.Char ( isSpace ) و trim :: String -> String . ثم قمنا بحساب trim = f.f حيث f = reverse.dropWhile isSpace

يمكن تفسير ذلك على النحو التالي: تقوم الدالة f بحذف المسافة البيضاء السابقة، ثم تعكس ترتيب السلسلة. بعد ذلك، تُطبق الدالة f مرة أخرى على ناتجها. توقيع النوع (السطر الثاني) اختياري.

ج

خوارزمية التقليم في J هي وصف وظيفي :

trim =. #~ [: ( +./\ *. +./\. ) ' ' &~:

أي: تصفية ( #~) للأحرف غير الفراغية ( ' '&~:) بين المسافات البادئة ( +./\) و ( *.) اللاحقة ( ).+./\.

جافا سكريبت

توجد دالة تقليم مدمجة في جافا سكريبت 1.8.1 (فايرفوكس 3.5 والإصدارات الأحدث)، وفي معيار ECMAScript 5. في الإصدارات السابقة، يمكن إضافتها إلى النموذج الأولي لكائن السلسلة النصية كما يلي:

String.prototype.trim = function ( ) { return this.replace ( /^\s+ / g , "" ) .replace ( / \s+$/g , " " ) ; } ;

بيرل

لا تحتوي لغة بيرل 5 على دالة تقليم مدمجة. ومع ذلك، يتم تحقيق هذه الوظيفة عادةً باستخدام التعابير النمطية .

مثال:

$string =~ s/^\s+// ; # إزالة المسافات البيضاء البادئة $string =~ s/\s+$// ; # إزالة المسافات البيضاء اللاحقة

أو:

$string =~ s/^\s+|\s+$//g ; # إزالة المسافات البيضاء البادئة واللاحقة

تُعدّل هذه الأمثلة قيمة المتغير الأصلي $string.

يتوفر أيضًا لـ Perl برنامج StripLTSpace من String::StripCPAN .

ومع ذلك، هناك دالتان شائعتان الاستخدام لإزالة المسافات البيضاء من نهاية السلاسل النصية، chompوهما chop:

  • chopيزيل الحرف الأخير من سلسلة نصية ويعيده.
  • chompيزيل هذا الأمر حرف السطر الجديد (أو الأحرف) الأخيرة من السلسلة النصية إن وجدت. (يعتمد تعريف حرف السطر الجديد على قيمة $INPUT_RECORD_SEPARATOR ).

في لغة Raku ، وهي اللغة الشقيقة القادمة للغة Perl، تحتوي السلاسل النصية على trimطريقة.

مثال:

$string = $string . trim ; # إزالة المسافات البيضاء الزائدة في بداية ونهاية السلسلة $string .= trim ; # نفس الشيء

تي سي إل

يحتوي أمر Tcl على ثلاثة أوامر فرعية ذات صلة: ، و . لكل من هذه الأوامر، يمكن تحديد وسيطة إضافية: سلسلة تمثل مجموعة من الأحرف المراد إزالتها - القيمة الافتراضية هي المسافة البيضاء (مسافة، علامة جدولة، سطر جديد، إرجاع المؤشر) .stringtrimtrimrighttrimleft

مثال على حذف حروف العلة:

set string onomatopoeia set trimmed [ string trim $string aeiou ] ; # النتيجة هي nomatop set r_trimmed [ string trimright $string aeiou ] ; # النتيجة هي onomatop set l_trimmed [ string trimleft $string aeiou ] ; # النتيجة هي nomatopoeia

XSLT

تتضمن XSLT الوظيفة التي تزيل المسافات البيضاء البادئة واللاحقة، بالإضافة إلى استبدال أي تسلسل مسافات بيضاء (بما في ذلك فواصل الأسطر) بمسافة واحدة.normalize-space(string)

مثال:

<xsl:variable name= 'trimmed' > <xsl:value-of select= 'normalize-space(string)' /> </xsl:variable>

يتضمن XSLT 2.0 التعبيرات النمطية، مما يوفر آلية أخرى لإجراء تقليم السلسلة.

تتمثل إحدى تقنيات XSLT الأخرى للتقليم في استخدام substring()وظيفة XPath 2.0.

مراجع

  1. "دروس الويب التعليمية عبر الإنترنت من W3Schools" . www.w3schools.com . تم الاطلاع عليه بتاريخ 14 أبريل 2026 .
  2. 1 2 3 4 5 يمكن أن يكون الفهرس سالبًا، مما يشير إلى عدد الأماكن قبل نهاية السلسلة.
  3. في لغة Rust،str::charsتقوم الطريقة بالتكرار على نقاط التعليمات البرمجية وتقومstd::iter::Iterator::nthالطريقة على المكررات بإرجاع القيمة n ذات الفهرس الصفري من المكرر، أوNone.
  4. لا يمكن أن يكون الفهرسسالبًا، استخدم *-N حيث يشير N إلى عدد المواضع قبل نهاية السلسلة.
  5. في لغة C++،تُرجعoperator<=>الطريقة المُحمّلة بشكل زائد على سلسلة نصيةstd::strong_ordering كائنًا (وإلاstd::weak_ordering):less،equal(نفس الشيءequivalent)، أوgreater.
  6. تُرجع أقل أو يساوي أو أكبر
  7. يُرجع LT أو EQ أو GT
  8. تُرجع.TRUE.أو.FALSE.. تعتمد هذه الدوال على تسلسل فرز ASCII.
  9. 1 2 ملحق IBM.
  10. في لغة Rust،تُرجعOrd::cmpالدالة على السلسلة النصيةOrdering :LessأوEqual، أوGreater.
  11. استخدم REXX الأصلي ¬ للنفي المنطقي، ويستخدم ANSI Rexx \، وتقبل بعض التطبيقات ~ أو ^، وتختلف التطبيقات غير EBCDIC فيما إذا كان ¬ موجودًا عند نقطة الترميز AA أو AC.
  12. استخدمت لغة PL/I الأصلية الرمز ¬ للدلالة المنطقية "ليس"، وتتوقع بعض التطبيقات الرمز ^، وتختلف التطبيقات غير EBCDIC فيما إذا كان الرمز ¬ موجودًا عند نقطة الترميز AA أو AC.
  13. 123456In Rust, the operators == and != and the methods eq, ne are implemented by the PartialEq trait, and the operators <, >, <=, >= and the methods lt, gt, le, ge are implemented by the PartialOrd trait.
  14. The operators use the compiler's default collating sequence.
  15. modifies string1, which must have enough space to store the result
  16. In Rust, the + operator is implemented by the Add trait.
  17. See the str::contains method.
  18. See the std::basic_string::contains method.
  19. 12startpos is IBM extension.
  20. 12See the str::find method.
  21. startpos is IBM extension.
  22. "scan in Fortran Wiki". Fortranwiki.org. 2009-04-30. Retrieved 2013-08-18.
  23. "verify in Fortran Wiki". Fortranwiki.org. 2012-05-03. Retrieved 2013-08-18.
  24. formatstring must be a fixed literal at compile time for it to have the correct type.
  25. See std::format, which is imported by the Rust prelude so that it can be used under the name format.
  26. See the slice::join method.
  27. if n is larger than the length of the string, then in Debug mode ArrayRangeException is thrown, in Release mode, the behaviour is unspecified.
  28. if n is larger than the length of the string, Java will throw an IndexOutOfBoundsException
  29. 12if n is larger than length of string, raises Invalid_argument
  30. 12if n is larger than length of string, throw the message "StringTake::take:"
  31. 123In Rust, strings are indexed in terms of byte offsets and there is a runtime panic if the index is out of bounds or if it would result in invalid UTF-8. A &str (string reference) can be indexed by various types of ranges, including Range (0..n), RangeFrom (n..), and RangeTo (..n) because they all implement the SliceIndex trait with str being the type being indexed. The str::get method is the non-panicking way to index. It returns None in the cases in which indexing would panic.
  32. Ruby lacks Unicode support
  33. See the str::len method.
  34. In Rust, the str::chars method iterates over code points and the std::iter::Iterator::count method on iterators consumes the iterator and returns the total number of elements in the iterator.
  35. operates on one character
  36. 12The transform function exists in the std:: namespace. You must include the <algorithm> header file to use it. The tolower and toupper functions are in the global namespace, obtained by the <ctype.h> header file. The std::tolower and std::toupper names are overloaded and cannot be passed to std::transform without a cast to resolve a function overloading ambiguity, e.g. std::transform(string.begin(), string.end(), result.begin(), (int (*)(int))std::tolower);
  37. std::string only, result is stored in string result which is at least as long as string, and may or may not be string itself
  38. 12only ASCII characters as Ruby lacks Unicode support
  39. See the str::to_lowercase method.
  40. See the str::replace method.
  41. 12345The "find" string in this construct is interpreted as a regular expression. Certain characters have special meaning in regular expressions. If you want to find a string literally, you need to quote the special characters.
  42. third parameter is non-standard
  43. In Rust, the str::chars method iterates over code points, the std::iter::Iterator::rev method on reversible iterators (std::iter::DoubleEndedIterator) creates a reversed iterator, and the std::iter::Iterator::collect method consumes the iterator and creates a collection (which here is specified as a String with the turbofish syntax) from the iterator's elements.
  44. See the str::rfind method.
  45. "Annotated ES5". Es5.github.com. Archived from the original on 2013-01-28. Retrieved 2013-08-18.
  46. if n is larger than length of string, then in Debug mode ArrayRangeException is thrown, and unspecified behaviour in Release mode
  47. See the str::split and str::rsplit methods.
  48. 1234567startpos can be negative, which indicates to start that number of places before the end of the string.
  49. 12numChars can be negative, which indicates to end that number of places before the end of the string.
  50. startpos can not be negative, use * - startpos to indicate to start that number of places before the end of the string.
  51. numChars can not be negative, use * - numChars to indicate to end that number of places before the end of the string.
  52. 12345endpos can be negative, which indicates to end that number of places before the end of the string.
  53. std::string only, result is stored in string result which is at least as long as string, and may or may not be string itself
  54. "أحرف كبيرة - لغة برمجة كوتلن" . كوتلن . تم الاسترجاع في 9 نوفمبر 2024 .
  55. في لغة Rust،str::to_uppercaseتُعيد الطريقة كائنًا تم تخصيصه حديثًاStringمع تغيير أي أحرف صغيرة إلى أحرف كبيرة وفقًا لقواعد Unicode.
  56. في لغة Rust،str::trimتُرجع هذه الطريقة مرجعًا إلى الأصل&str.
  57. ^ "تقليم – جنو باسكال priručnik" . جنو-باسكال.دي . تم الاسترجاع 2013/08/24 .
  58. "مقارنة مكتبات السلاسل النصية" . And.org . تم الاطلاع عليه بتاريخ 24-08-2013 .
  59. "الاستخدام – 1.54.0" . Boost.org. 2013-05-22 . تم الاطلاع عليه بتاريخ 2013-08-24 .
  60. أُرشف بتاريخ 2 أغسطس 2009 في أرشيف الإنترنت (Wayback Machine) .
  61. dankamongmen. "sprezzos-kernel-packaging/changelog at master · dankamongmen/sprezzos-kernel-packaging · GitHub" . Github.com . تم الاطلاع عليه بتاريخ 29-05-2016 .