إدراج نص في موضع حرفي محدد
أدرج «beautiful » في الموضع 6 من «Hello world» لتحصل على «Hello beautiful world» بطول 21 حرفًا. لا يُكتب فوق أي حرف، والموضع 0 هو البداية، ويُعد الرمز التعبيري موضعًا واحدًا. مجانية في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
مثال محلول
- النص
- Hello world
- النص المراد إدراجه
- beautiful
- الموضع
- 6
- النتيجة
- Hello beautiful world
- الطول الأصلي
- 11
- الطول بعد الإدراج
- 10
- طول النتيجة
- 21
تضيف أداة إدراج النص في موضع محدد سلسلة نصية في المكان الذي تحدده بدقة داخل نص موجود. أدخل النص الأصلي والمحتوى المراد إضافته وموضع الحرف الذي يبدأ عدّه من الصفر؛ فتحافظ النتيجة على جميع الأحرف الأصلية وتضع المحتوى الجديد بين الحرفين المحيطين بذلك الفهرس. تفيد هذه الأداة في إنشاء القوالب وإضافة التسميات أو الفواصل وتصحيح المحتوى المولّد وإجراء تعديلات دقيقة ضمن مسارات عمل قابلة للتكرار. ويجري عد أحرف Unicode بطريقة متسقة، لذلك لا تشغل الرموز التعبيرية وغيرها من الأحرف الخارجة عن الأبجدية اللاتينية الأساسية موضعين على نحو غير متوقع.
حدد نقطة الإدراج الدقيقة
يبدأ عد المواضع من الصفر، ولذلك يدرج الموضع 0 النص قبل الحرف الأول. ويدرج الموضع 1 بعد الحرف الأول وقبل الثاني، بينما يضيف الموضع المساوي لطول النص الأصلي السلسلة المختارة في النهاية. في المثال Hello world تقع المسافة في الموضع 5 ويقع الحرف w في الموضع 6.
ويؤدي إدراج beautiful في الموضع 6 إلى Hello beautiful world. لا تستبدل العملية أي محتوى؛ فهي تقسم النص الأصلي عند الحد المطلوب، وتضع النص المدرج بين الجزأين، ثم تجمعهما مجددًا. يجعل هذا التعريف النتيجة متوقعة في البرامج النصية والمحررات المرئية.
يشمل النطاق المسموح طرفيه، من الصفر إلى طول النص بالأحرف. ويُرفض الموضع السالب أو الذي يتجاوز الحد الأخير بدل تعديله بصمت، مما يمنع وقوع التعديل في مكان خاطئ. وتعيد الاستجابة الموضع المطبق وأطوال النص الأصلي والمدرج والناتج كي يتمكن مسار العمل الآلي من التحقق من التغيير.
تعامل مع نص Unicode بأمان
تعد هذه القدرة نقاط ترميز Unicode بدل وحدات UTF-16 التي تستخدمها JavaScript. ويهم هذا الفرق عندما يحتوي النص على رموز تعبيرية أو كتابات تاريخية أو رموز أقل شيوعًا. قد يشغل الرمز التعبيري وحدتين داخليتين من UTF-16، لكنه يعامل هنا بوصفه موضعًا واحدًا، ولذلك لا يفصل الإدراج الزوج البديل ولا ينتج نصًا تالفًا.
وتُستخدم قاعدة العد نفسها للأطوال الأصلية والمدرجة والنهائية المعادة. قد تظل علامات الدمج وتسلسلات الرموز التعبيرية المركبة مكوّنة من عدة نقاط ترميز حتى إذا عرضها الخط مجموعة مرئية واحدة؛ وهذه خاصية في Unicode. إذا جاءت المواضع من نظام آخر، فتحقق من أنه يعد نقاط الترميز أيضًا.
فإزاحات البايت وفهارس UTF-16 وفهارس العناقيد الكتابية أنظمة إحداثيات مختلفة. ويساعد التصريح بنظام العد في منع انزياح المواضع الدقيق عند انتقال القوالب بين المتصفح وقواعد البيانات وخدمات الخادم، كما يضمن أن تنتج التحويلات المتكررة النتيجة نفسها في كل بيئة.
أنشئ قوالب ومسارات تحرير دقيقة
يصبح الإدراج الدقيق أكثر فائدة عند دمجه مع خطوات أخرى. يستطيع مسار مستندات إدراج اسم حساب بعد تحية ثابتة، أو إضافة معرّف تتبع قبل امتداد ملف، أو وضع بند مولّد عند حد عثر عليه محلل سابق. ولأن النص الحالي يبقى محفوظًا، تختلف هذه الأداة عن الاستبدال؛ فلا توجد عبارة بحث ينبغي مطابقتها ولا نطاق محدد ينبغي حذفه.
استخدمها عندما يعرف مسار العمل حد الحرف المقصود مسبقًا. وتحقق من ذلك الحد إذا كان المحتوى السابق قابلًا للتغيير، لأن إضافة أحرف أو حذفها قبله ينقل الموضع الصحيح. في القوالب القابلة لإعادة الاستخدام، تكون العلامات الثابتة غالبًا أسهل صيانة من الإزاحات الثابتة؛ ابحث عن العلامة أولًا ثم مرر فهرسها للإدراج.
ويُقبل نص إدراج فارغ بوصفه عملية مقصودة لا تغيّر شيئًا، مما يبسّط المسارات الشرطية. تعمل الدالة بصورة حتمية من دون شبكة أو عشوائية أو وقت حالي، لذا تعطي المدخلات المتطابقة مخرجات متطابقة دائمًا.
حالات الاستخدام
إكمال قالب نصي
أدرج اسم عميل أو رقمًا مرجعيًا أو عبارة مولّدة عند حد معروف مع الحفاظ التام على القالب المحيط.
إضافة لاحقة إلى اسم ملف
ضع علامة الإصدار أو اللغة مباشرة قبل امتداد الملف بعد أن تحدد خطوة أخرى موضع الامتداد.
تطبيق تعديلات دقيقة على المحتوى
أضف علامات الترقيم أو الشروح أو الفواصل أو الكلمات الناقصة إلى محتوى مولّد من دون البحث عن النص الحالي واستبداله.
الأسئلة الشائعة
هل يبدأ عد الموضع من الصفر أم من الواحد؟
يبدأ من الصفر. يدرج الموضع 0 قبل الحرف الأول، ويضيف الموضع المساوي لطول النص الأصلي المحتوى في النهاية.
هل يستبدل الإدراج أي نص موجود؟
لا. تُحفظ جميع الأحرف الأصلية، وتضاف السلسلة المختارة عند الحد المطلوب فقط.
كيف يجري عد الرموز التعبيرية؟
تستخدم المواضع والأطوال نقاط ترميز Unicode؛ فيُعد الرمز التعبيري الإضافي نقطة واحدة لا وحدتين من UTF-16. وقد تتكون الرموز المركبة من عدة نقاط.
هل يمكن الإدراج في البداية أو النهاية؟
نعم. استخدم الموضع 0 للإضافة في البداية، أو استخدم طول النص الأصلي للإضافة في النهاية.
ماذا يحدث إذا تجاوز الموضع نهاية النص؟
يُرفض الإدراج بدل نقله بصمت، فلا يقع أي تعديل في المكان الخطأ. المواضع الصالحة من 0 حتى طول النص، واستخدام الطول نفسه يضيف النص في النهاية.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/str/insert-at-position \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Hello world","insert_text":"beautiful ","position":6}'const res = await fetch("https://api.kit.forhosting.com/str/insert-at-position", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Hello world",
"insert_text": "beautiful ",
"position": 6
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/str/insert-at-position",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Hello world",
"insert_text": "beautiful ",
"position": 6
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/str/insert-at-position", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Hello world","insert_text":"beautiful ","position":6}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Hello world","insert_text":"beautiful ","position":6}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/str/insert-at-position", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"text": "Hello world",
"insert_text": "beautiful ",
"position": 6
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "str.insert_at_position",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
ملاحظات تقنية
أنشئ قوالب ومسارات تحرير دقيقة
ويمكن تنفيذ الأتمتة عبر API مقابل $0.002 لكل طلب.
أسئلة تقنية
ماذا يحدث إذا كان الموضع غير صالح؟
يعيد الموضع السالب أو الكسري أو الخارج عن النطاق خطأ invalid_input بدل تغيير القيمة أو تقييدها.