استبدال أول ظهور
في «one two one three one» يعطي استبدال أول «one» بالكلمة «FIRST» النتيجة «FIRST two one three one»، وتبقى المواضع الأخرى كما هي. البحث حرفي، مع خيار لتجاهل حالة الأحرف. مجاني في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
مثال محلول
- النص
- one two one three one
- احسب
- one
- الاستبدال
- FIRST
- النتيجة
- FIRST two one three one
- النص
- FIRST two one three one
- الأصلي
- one two one three one
- الكمية
- 1
يحتاج المحررون والمهندسون وخطوط الأتمتة غالبًا إلى تعديل دقيق: تغيير أول ذكر لكلمة أو رمز فقط وترك كل ظهور لاحق كما هو. البحث والاستبدال الشامل يعيد كتابة المستند بالكامل وقد يفسد أمثلة أو سجلات أو أسماء منتجات ما زلتم تحتاجونها. يغطي خيار اختياري بلا حساسية لحالة الأحرف المسودات المختلطة حيث يجب أن يتغير أول Hello أو HELLO دون مسح كل شكل لاحق. تفشل مصطلحات البحث الفارغة بإدخال غير صالح حتى لا تنفّذ المهام الجماعية عملية فارغة صامتة. استخدموها للعناوين وأول ذكر للعلامة ورموز القوالب والاختبارات الحتمية.
ماذا يعني استبدال أول ظهور ومتى يُستخدم
استبدال أول ظهور يعني مسح سلسلة المصدر من اليسار، والتوقف عند أول تطابق غير متداخل لمصطلح البحث، وكتابة سلسلة الاستبدال في ذلك الموضع الوحيد، وترك كل تطابق لاحق دون مساس — حتى عندما يكون الاستبدال فارغًا فتحذفون أول إصابة فقط. المطابقة حرفية: إن بحثتم عن نقطة أو قوس فهذه المحارف نص صريح وليست صيغة تعبير نمطي، فتبقى الأداة قابلة للتوقع لغير المطوّرين وللخطوط التي يجب ألا تُفاجأ بالرموز الخاصة.
فضّلوا هذه الحاسبة عندما تكون نية البحث استبدال أول ظهور، أو تبديل أول تطابق فقط، أو تحرير أول سلسلة فرعية، أو تغيير أول رمز دون إعادة تسمية شاملة. تشمل المصادر النموذجية عناوين المستندات حيث يُحدَّث اسم المنتج الافتتاحي فقط، وأسطر السجل حيث يُعاد كتابة أول رمز خطأ للعروض، وخلايا CSV ببادئة قديمة في المقدمة، وملاحظات يظهر فيها خطأ إملائي مرة في الأعلى ويصح لاحقًا. تطوي المطابقة الاختيارية بلا حالة أحرف حالة الحروف فتُلتقط أول Hello أو HELLO أو hello دون سرد المتغيرات.
لا تستخدموا هذا المنتج عندما تحتاجون استبدال كل تطابق — فتلك نية SEO مختلفة تخدمها أدوات البحث والاستبدال الشامل — ولا عندما تحتاجون مجموعات التقاط أو lookaround أو محركات تعبيرات نمطية متعددة الأسطر.
الاستخدامات الشائعة والحدود العملية
استدعوا أداة استبدال أول ظهور المجانية في المتصفح لتنظيف اللصق وعروض الفصول وضمان جودة المحتوى وإعادة تسمية سريعة لإصابة واحدة دون تثبيت أداة سطح مكتب أو كتابة مقتطفات indexOf وslice في كل لغة. سير عمل نموذجي يعيد تسمية أول ذكر للعلامة في نص منتج فقط فتبقى أسماء الأمثلة اللاحقة سليمة، ثم يتحقق أن count يساوي واحدًا وأن index يشير إلى الإزاحة المتوقعة. اقرنوا هذه النقطة النهائية ببحث واستبدال كامل عندما تحتاج خطوة لاحقة كل تطابق حقًا، لكن أبقوا replace-first صفحة هبوط خاصة حتى لا تختلط نية SEO بأدوات الاستبدال الشامل.
لا تتوقعوا إعادة كتابة واعية ل HTML تتخطى الوسوم، ولا حقول دمج مستندات منظمة، ولا ترتيبًا خاصًا بالمحليّة يتجاوز المطابقة القياسية بلا حالة — فتلك مشكلات منفصلة. ثبّتوا تجهيزات لصفر تطابقات وتطابق واحد وتطابقات كثيرة مع تغيير الأول فقط وأول إصابات بلا حالة ورفض البحث الفارغ حتى لا تغيّر إعادة الهيكلة الوعد بصمت.
حالات الاستخدام
أول اسم علامة أو منتج فقط
حدّثوا اسم المنتج الافتتاحي في نصوص التسويق مع الإبقاء على أسماء الأمثلة اللاحقة وSKU وسلاسل العرض دون تغيير.
تنظيف الرمز الأمامي في القوالب
احذفوا أو أعيدوا كتابة أول رمز نائب أو بادئة قديمة فقط في الماكرو ومقتطفات البريد وأسطر الإعداد.
الأسئلة الشائعة
ماذا يحدث إذا كان مصطلح البحث فارغًا؟
تُرفض سلسلة find الفارغة حتى لا تنفّذ الخطوط عملية فارغة صامتة ولا فخ استبدال السلسلة الفارغة الكلاسيكي؛ ولا تُحسب تلك الإخفاقات.
ما الفرق عن البحث والاستبدال الشامل؟
تغيّر هذه الأداة أول تطابق فقط وتترك اللاحقة دون مساس. البحث والاستبدال الشامل يبدّل كل ظهور. استخدموا replace-first عندما تحتاجون تعديلاً واحدًا دقيقًا.
هل يدعم find التعبيرات النمطية؟
لا. يُعامل مصطلح البحث دائمًا كسلسلة حرفية. النقاط والأقواس وغيرها من محارف regex الوصفية تطابق نفسها فيبقى السلوك قابلاً للتوقع للمحررين والمهام الجماعية.
هل يمكن تجاهل حالة الأحرف عند البحث عن أول ظهور؟
نعم، فعند تفعيل خيار تجاهل حالة الأحرف يُستبدل أول Hello أو HELLO أو hello أيًّا كانت كتابته. أما افتراضيًا فيميّز البحث بين الأحرف الكبيرة والصغيرة تمامًا.
كيف أحذف أول ظهور فقط دون استبداله بشيء؟
اترك نص الاستبدال فارغًا، فيُحذف أول تطابق وحده وتبقى المواضع التالية كما هي. وهذا مفيد لإزالة بادئة قديمة أو رمز مؤقت في بداية قالب.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/str/replace-first \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"one two one three one","find":"one"}'const res = await fetch("https://api.kit.forhosting.com/str/replace-first", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "one two one three one",
"find": "one"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/str/replace-first",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "one two one three one",
"find": "one"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/str/replace-first", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"one two one three one","find":"one"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"one two one three one","find":"one"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/str/replace-first", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"text": "one two one three one",
"find": "one"
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "str.replace_first",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
ملاحظات تقنية
تأخذ أداة استبدال أول ظهور سلسلة المصدر، ومصطلح بحث غير فارغ، واستبدالًا اختياريًا، ثم تستبدل أول تطابق حرفي فقط وتعيد عقد JSON مستقرًا بالنتيجة وعدد التطابقات وفهرس المحارف وصدى الأصل والمصطلحات المطبَّقة. يعمل ودجت المتصفح المجاني على جهازكم؛ وتفرض واجهة API المدفوعة مسبقًا $0.002 لكل عنصر ناجح عندما تحتاج الخوادم وSDK التحويل نفسه بالجملة.
ماذا يعني استبدال أول ظهور ومتى يُستخدم
يرفع مصطلح البحث الفارغ invalid_input فيحمي المهام الجماعية من الفخ الكلاسيكي لمعاملة السلسلة الفارغة كتطابق بين كل محرف.
عقد الإدخال ورفض البحث الفارغ وقراءة الاستجابة
القيمة الافتراضية ل replace الاختيارية هي السلسلة الفارغة فتحذف أول تطابق فقط. استخدموا result وحده عندما تحتاجون السلسلة النظيفة فقط؛ وcount وindex عندما يسجّل خط الأنابيب إن وقعت التحرير وأين؛ وoriginal وresult معًا عندما يجب أن تعرض واجهة العرض قبل وبعد. يتبع نص المصدر قواعد الاحتفاظ نفسها لعناصر parse الأخرى في KIT. أرسلوا جسم JSON يتضمن الحقل النصي الإلزامي text مضبوطًا على المصدر الذي تريدون تحريره والحقل النصي الإلزامي find مضبوطًا على مصطلح بحث غير فارغ. القيمة الافتراضية ل case_insensitive الاختيارية هي false للمطابقة الدقيقة للحالة؛ اضبطوه true عندما يجب أن يطابق أول مسودة مختلطة الحالة. تُقبل أسماء بديلة للعملاء القدامى: text أيضًا input أو value أو s أو content أو source؛ find ك search أو needle أو from أو old؛ replace ك replacement أو with أو to أو new؛ case_insensitive ك ignore_case أو ci أو insensitive. غياب text أو find أو قيمة غير نصية أو سلسلة find فارغة ترفع invalid_input برسالة تسمي المشكلة، ولا تُحسب تلك الإخفاقات على API المدفوعة مسبقًا. عند النجاح تتضمن الاستجابة result بالسلسلة المحرَّرة وtext مساويًا ل result لراحة الودجت وoriginal الذي يصدح الإدخال الدقيق وfind وreplace كما طُبّقا وcase_insensitive كمنطقي وcount يساوي واحدًا عند حدوث استبدال أو صفرًا عند عدم التطابق وindex كإزاحة محارف أول تطابق أو سالب واحد عند غيابه وlength وoriginal_length كأطوال محارف وmethod دائمًا يساوي replace_first. أبقوا الحمولة بأحجام جملة وفقرة ومستند قصير مناسبة لعزلة Worker لا بتفريغات متعددة الميجابايت.
استخدام API والتسعير وسير العمل والحدود العملية
استخدموا API KIT المدفوعة مسبقًا عندما يحتاج نظام إدارة محتوى أو مهمة ETL أو خلفية نماذج أو مكتب دعم أو عميل جوال التحويل نفسه تحت الرصيد ب $0.002 لكل عنصر ناجح؛ إخفاقات التحقق لا تستهلك الرصيد أبدًا بعد رفض المحرك. سير آخر يحذف رمزًا مهجورًا في المقدمة بإرسال replace فارغ، أو يطبّع أول متغير مختلط الحالة ب case_insensitive true قبل فهرسة البحث. يمكن لمؤلفي SDK توثيق text وfind كحقلين إلزاميين وعرض مصدر متعدد التطابقات يتغير فيه أول إصابة فقط إضافةً إلى مثال خطأ find فارغ ليرى المدمجون طرفي العقد.
حالات التكامل
ضمان الجودة والتجهيزات الحتمية
تثبت أحزمة الاختبار مخرجات golden ل replace-first حتى تفشل إعادة الهيكلة التي تنتقل إلى replace-all أو تغيّر رفض find الفارغ التكامل المستمر فورًا.
أسئلة تقنية
كيف أستبدل أول ظهور فقط لسلسلة فرعية؟
أرسلوا JSON مع text مضبوطًا على سلسلة المصدر وfind على مصطلح بحث غير فارغ. replace الاختياري هو الاستبدال (الافتراضي فارغ فيحذف أول تطابق). تتضمن الاستجابة result وcount وindex.
هل أداة استبدال أول ظهور مجانية؟
تعمل أداة المتصفح مجانًا على جهازكم. تستدعي استدعاءات API رصيد KIT المدفوع مسبقًا ب $0.002 لكل عنصر ناجح؛ إخفاقات التحقق لا تُحسب.