المسارات
/
Go
Go
/
المنهج
/
حزمة strings
حز

حزمة strings في Go

1 تمرين

نبذة عن حزمة strings

توفّر حزمة strings دوالً للتعامل مع السلاسل النصية. فيما يلي بعض دوال الحزمة؛ ألقِ نظرة على التوثيق لترى البقية!

الدور الدالة الغرض
تحويل حالة الأحرف ToLower تحويل سلسلة نصية إلى أحرف صغيرة
تحويل حالة الأحرف ToUpper تحويل سلسلة نصية إلى أحرف كبيرة
البحث Contains التحقق مما إذا كانت سلسلة نصية تحتوي على سلسلة نصية فرعية معيّنة
البحث Count عدّ التكرارات غير المتداخلة لسلسلة نصية فرعية
البحث HasPrefix التحقق مما إذا كانت سلسلة نصية تبدأ بسلسلة نصية فرعية معيّنة
البحث HasSuffix التحقق مما إذا كانت سلسلة نصية تنتهي بسلسلة نصية فرعية معيّنة
البحث Index تُرجع فهرس أول ظهور لسلسلة نصية فرعية، أو -1
التعديل Replace استبدال حتى n من تكرارات سلسلة نصية فرعية
التعديل ReplaceAll استبدال كل تكرارات سلسلة نصية فرعية
التعديل TrimSpace إزالة المسافات البيضاء في البداية والنهاية
التقسيم أو الضم Fields تقسيم سلسلة نصية إلى كلمات حسب المسافات البيضاء
التقسيم أو الضم FieldsSeq الحصول على كل كلمة على حدة
التقسيم أو الضم Join ضمّ شريحة من السلاسل النصية باستخدام فاصل
التقسيم أو الضم Split تقسيم سلسلة نصية إلى أجزاء عند فاصل
التقسيم أو الضم SplitSeq الحصول على كل جزء على حدة
import (
    "fmt"
    "strings"
)

// Case conversion
strings.ToLower("Gopher")              // "gopher"
strings.ToUpper("Gopher")              // "GOPHER"

// Searching
strings.Contains("Apple", "le")        // true
strings.Index("Apple", "le")           // 3
strings.Index("Apple", "xyz")          // -1
strings.Count("test", "t")             // 2
strings.HasPrefix("Gopher", "Go")      // true
strings.HasSuffix("Gopher", "er")      // true

// Modifying
strings.TrimSpace("  hello  ")         // "hello"
strings.Replace("aabbcc", "b", "x", 1) // "aaxbcc"
strings.ReplaceAll("aabbcc", "b", "x") // "aaxxcc"

// Splitting or Joining
strings.Fields("  a b\tc  ")               // []string{"a", "b", "c"}
strings.Split("a,b,c", ",")                // []string{"a", "b", "c"}
strings.Join([]string{"a", "b", "c"}, ",") // "a,b,c"

// You do not need to worry about this range syntax yet.
// It is covered later in the range iteration concept.
for word := range strings.FieldsSeq("  a b\tc  ") {
    fmt.Println(word)
}
// Output:
// a
// b
// c

for part := range strings.SplitSeq("a,b,c", ",") {
    fmt.Println(part)
}
// Output:
// a
// b
// c
تعديل عبر GitHub يفتح الرابط في نافذة أو علامة تبويب جديدة

تعلّم حزمة strings