توابع رشتهای
توابع پرکاربرد پکیج strings: Contains، Split، Join، Replace، ToUpper و...
پکیج strings
توابع کار با رشته در پکیج استاندارد strings قرار دارند:
import "strings"
توابع پرکاربرد
| تابع | کاربرد | مثال |
|---|---|---|
ToUpper(s) | تبدیل به حروف بزرگ | strings.ToUpper("go") → GO |
ToLower(s) | تبدیل به حروف کوچک | strings.ToLower("GO") → go |
Contains(s, sub) | آیا شامل زیررشته است؟ | Contains("سلام دنیا", "دنیا") → true |
HasPrefix(s, pre) | شروع با؟ | HasPrefix("test.jpg", "test") → true |
HasSuffix(s, suf) | پایان با؟ | HasSuffix("test.jpg", ".jpg") → true |
Split(s, sep) | تقسیم به آرایه | Split("a,b,c", ",") → [a b c] |
Join(arr, sep) | اتصال آرایه | Join([a b c], "-") → a-b-c |
Replace(s, old, new, n) | جایگزینی | Replace("a-b", "-", "+", 1) → a+b |
ReplaceAll(s, old, new) | جایگزینی همه | ReplaceAll("a-b-c", "-", "+") → a+b+c |
TrimSpace(s) | حذف فاصلههای دو طرف | TrimSpace(" hi ") → hi |
Trim(s, cut) | حذف کاراکترهای مشخص | Trim("**hi**", "*") → hi |
Repeat(s, n) | تکرار رشته | Repeat("ab", 3) → ababab |
Index(s, sub) | موقعیت زیررشته | Index("hello", "l") → 2 |
Count(s, sub) | تعداد تکرار | Count("banana", "an") → 2 |
Fields(s) | تقسیم با فاصله | Fields("a b c") → [a b c] |
مثالهای عملی
بررسی و جستجو
s := "به لرنینگ سیتی خوش آمدید"
fmt.Println(strings.Contains(s, "سیتی")) ← true
fmt.Println(strings.HasPrefix(s, "به")) ← true
fmt.Println(strings.HasSuffix(s, "!")) ← false
fmt.Println(strings.Count(s, "س")) ← 2
تقسیم و اتصال
csv := "علی,25,تهران"
parts := strings.Split(csv, ",")
// parts = ["علی", "25", "تهران"]
joined := strings.Join(parts, " | ")
// "علی | 25 | تهران"
پاکسازی ورودی
input := " سلام دنیا "
clean := strings.TrimSpace(input) ← "سلام دنیا"
ترکیب
strings.Fields با strings.Join برای نرمالسازی فاصلهها عالی است: strings.Join(strings.Fields(s), " ")این مبحث بخشی از دوره آموزش کامل گو است.