7. Strings — متن
Difficulty: Beginner — مبتدی
Time: ~20 minutes
Creating Strings — متن بنانا
متغیر الف = "دہری قوسین";
متغیر ب = 'اکہری قوسین';
متغیر ج = `بیک ٹک متن`; // template string
لکھو(الف); // دہری قوسین
لکھو(ب); // اکہری قوسین
لکھو(ج); // بیک ٹک متن
اردو: تینوں طریقوں سے متن بنایا جا سکتا ہے۔ بیک ٹک
`متن میں${...}سے متغیر اور اظہار ڈالے جا سکتے ہیں۔
Concatenation — جوڑنا
Combine strings with +:
متغیر پہلا = "اردو";
متغیر دوسرا = " پروگرامنگ";
لکھو(پہلا + دوسرا); // اردو پروگرامنگ
لکھو("نام: " + "احمد"); // نام: احمد
اردو:
+سے دو متن جوڑے جا سکتے ہیں۔ لیکن عدد کو پہلےمتن()سے تبدیل کریں ورنہ غلطی آئے گی۔
متغیر عمر = 25;
// لکھو("عمر: " + عمر); // ← ERROR
لکھو("عمر: " + متن(عمر)); // ✓ عمر: 25
لکھو(`عمر: ${عمر}`); // ✓ عمر: 25 (better way)
String Length — متن کی لمبائی
متغیر الفاظ = "السلام علیکم";
لکھو(لمبائی(الفاظ)); // 13 (characters including space)
لکھو(لمبائی("اردو")); // 4
لکھو(لمبائی("")); // 0
اردو:
لمبائی()سے متن میں حروف کی تعداد جانیں (خالی جگہیں بھی گنی جاتی ہیں)۔
Accessing Characters — حروف تک رسائی
Use index notation [index]. Indices start at 0:
متغیر لفظ = "اردو";
لکھو(لفظ[0]); // ا (first character)
لکھو(لفظ[1]); // ر
لکھو(لفظ[2]); // د
لکھو(لفظ[3]); // و (last character)
Negative indices — منفی اشاریے:
اردو: منفی اشاریہ آخر سے گنتا ہے:
-1آخری حرف،-2آخر سے دوسرا۔
Slicing — کاٹنا
Extract a portion of a string with [start:end]:
متغیر جملہ = "اردو پروگرامنگ زبان";
لکھو(جملہ[0:4]); // اردو (index 0,1,2,3 — not including 4)
لکھو(جملہ[5:15]); // پروگرامنگ
لکھو(جملہ[16:]); // زبان (from index 16 to end)
لکھو(جملہ[:4]); // اردو (from start to index 3)
لکھو(جملہ[-5:]); // زبان (last 5 characters)
اردو:
[شروع:آخر]سے متن کا حصہ نکالیں۔آخروالا اشاریہ شامل نہیں ہوتا۔[:4]مطلب صفر سے شروع،[5:]مطلب 5 سے آخر تک۔
String Methods — متن کے طریقے
These methods are called with dot notation on the string:
متغیر متن_م = " السلام علیکم اردو ";
// Remove whitespace
لکھو(متن_م.چھاٹو()); // السلام علیکم اردو
// Case (works for ASCII characters)
لکھو("hello".بڑے_حروف()); // HELLO
لکھو("WORLD".چھوٹے_حروف()); // world
// Search
لکھو("اردو پروگرامنگ".شامل_ہے("اردو")); // True
لکھو("اردو پروگرامنگ".شروع_ہے("اردو")); // True
لکھو("اردو پروگرامنگ".ختم_ہے("نگ")); // True
لکھو("اردو پروگرامنگ".مقام("پروگرامنگ")); // 5
// Replace
لکھو("السلام علیکم".بدلو("علیکم", "اردو")); // السلام اردو
// Repeat
لکھو("ہا".دہراؤ(3)); // ہاہاہا
// Padding (for formatting numbers)
لکھو("7".padStart(4, "0")); // 0007
لکھو("7".padEnd(4, "-")); // 7---
اردو:
.چھاٹو()شروع اور آخر کی خالی جگہیں ہٹاتا ہے۔.شامل_ہے()بتاتا ہے کہ متن موجود ہے یا نہیں۔.مقام()متن کہاں ملا وہ اشاریہ دیتا ہے (-1 اگر نہ ملے)۔.بدلو()پہلی مطابقت بدلتا ہے۔
Built-in String Functions — بنا بنایا فنکشنز
// ربط — join a list into a string
لکھو(ربط(", ", ["احمد", "فاطمہ", "علی"]));
// احمد, فاطمہ, علی
لکھو(ربط(" — ", [1, 2, 3]));
// 1 — 2 — 3
لکھو(ربط("", ["ا", "ر", "د", "و"]));
// اردو
// تقسیم — split a string into a list
لکھو(تقسیم("احمد فاطمہ علی"));
// ['احمد', 'فاطمہ', 'علی']
لکھو(تقسیم("ایک,دو,تین", ","));
// ['ایک', 'دو', 'تین']
// شامل — check if sub is in string (or list)
لکھو(شامل("اردو پروگرامنگ", "اردو")); // True
لکھو(شامل("اردو پروگرامنگ", "جاوا")); // False
اردو:
ربط(جوڑنے_والا, فہرست)فہرست کو ایک متن میں جوڑتا ہے۔تقسیم(متن)متن کو فہرست میں توڑتا ہے۔شامل(متن, ذیلی_متن)بتاتا ہے کہ ذیلی متن موجود ہے یا نہیں۔
String and Numbers — متن اور اعداد
// Convert number to string
لکھو(متن(42)); // "42"
لکھو(متن(3.14)); // "3.14"
// Convert string to number
لکھو(عدد("100")); // 100
لکھو(اعشاریہ("3.14")); // 3.14
لکھو(عدد("abc")); // nan (failed conversion)
// Check for NaN
متغیر ن = عدد("xyz");
لکھو(نان_ہے(ن)); // True
اردو:
متن()عدد کو متن میں بدلتا ہے۔عدد()متن کو عدد میں۔ اگر تبدیلی ناکام ہو تونانملتا ہے —نان_ہے()سے جانچیں۔
Multiline Strings — کئی سطروں کا متن
Output:
اردو: بیک ٹک
`متن کئی سطروں پر پھیلا سکتا ہے۔ یہ لمبے پیغامات، HTML، یا SQL لکھنے کے لیے مفید ہے۔
Practical Example: Name Formatter — عملی مثال: نام فارمیٹر
فنکشن نام_فارمیٹ(پورا_نام) {
متغیر حصے = تقسیم(پورا_نام.چھاٹو());
اگر (لمبائی(حصے) < 2) {
واپس پورا_نام.چھاٹو();
}
متغیر پہلا = حصے[0];
متغیر آخری = حصے[لمبائی(حصے) - 1];
واپس `${آخری}، ${پہلا}`;
}
لکھو(نام_فارمیٹ("محمد احمد")); // احمد، محمد
لکھو(نام_فارمیٹ("فاطمہ علی خان")); // خان، فاطمہ
اردو: یہ مثال دکھاتی ہے کہ متن کو توڑنا، حصوں تک رسائی، اور سانچہ متن سے جوڑنا کیسے ملتا ہے ایک کام کرنے والے فنکشن میں۔
Key Points — اہم نکات
- Strings use
"...",'...', or`...`(template) - Template strings embed values with
${expr} - Index access:
لفظ[0]first character,لفظ[-1]last - Slicing:
متن[2:5]characters at indices 2, 3, 4 - Methods:
.چھاٹو(),.شامل_ہے(),.بدلو(),.دہراؤ(),.مقام() - Functions:
ربط(sep, list),تقسیم(str),شامل(str, sub),لمبائی(str)
اردو: متن
"..."یا بیک ٹک میں۔[0]پہلا حرف،[-1]آخری۔ربط()فہرست جوڑتا ہے،تقسیم()توڑتا ہے،شامل()تلاش کرتا ہے۔