ForHosting KIT · النصوص والذكاء الاصطناعي

إزالة الأسطر المكررة

يصبح apple وbanana وapple وcherry وbanana على الصورة apple وbanana وcherry: يُحذف سطران مكرران وتبقى 3 أسطر فريدة بترتيب ظهورها الأول. ويمكنك أيضًا معاملة Apple وapple كسطر واحد. مجاني في متصفحك.

  • مجاني
  • يعمل في متصفحك
  • دون تسجيل
  • بياناتك لا تغادر جهازك
استخدمها من الويبAPIالبريدTelegramالتطبيق قريبًا
إذا أدخلت
النص
apple banana apple cherry banana
تحصل على
النص
apple banana cherry
الأصل
apple banana apple cherry banana
الأسطر الأصلية
5
الأسطر الفريدة
3

تتسلل الأسطر المكررة إلى السجلات وقوائم البريد وأعمدة CSV المصدَّرة كنص عادي وتواريخ shell وعينات الشيفرة الملصقة مرتين وتطبيقات الملاحظات حيث نُسخ البند نفسه أكثر من مرة. تنظيفها يدويًا بطيء ومعرّض للأخطاء، لا سيما عندما تخفي فروق حالة الأحرف تكرارات حقيقية أو عندما يهم الترتيب ويجب الإبقاء على الظهور الأول لا الأخير. تأخذ هذه الأداة النص متعدد الأسطر الذي تدخله، وتقسمه إلى أسطر، وتعيد سلسلة مُزالة التكرار حتمية تحافظ على ترتيب الظهور الأول الأصلي. يمكنكم اختياريًا تجاهل حالة الأحرف بحيث يُحسب Apple وapple كسطر واحد مع الإبقاء على أول كتابة قدمتموها. يُرفض الإدخال الفارغ بخطأ تحقق واضح بدل إرجاع نتيجة فارغة بصمت، مما يحمي العملاء الذين نسوا ربط حقل.

كيف تُزال الأسطر المكررة وخيار حالة الأحرف

يطبّع المحرك أنماط إرجاع السطر بحيث يصبح CRLF في Windows وCR المجرد فواصل سطر جديدة عادية، ثم يقسم السلسلة عند كل سطر جديد. يُعتبر كل سطر ناتج — بما في ذلك الأسطر الفارغة المقصودة — مرشحًا. في أول مرة يُرى فيها سطر يُحتفظ به بأحرفه الأصلية؛ وكل سطر لاحق يطابق مفتاح المقارنة يُستبعد.

المقارنة افتراضيًا دقيقة: المسافات وعلامات الترقيم وحالة الأحرف كلها تهم، فالمسافات اللاحقة أو Apple مقابل apple أسطر مختلفة. تُعاد أعداد الأسطر المحذوفة والأسطر الفريدة مع النص المنظف حتى تتمكن لوحات المعلومات والاختبارات من التحقق من حجم التغيير. ولأن المسار حساب parse خالص على السلاسل — مسح خطي واحد مع مجموعة تجزئة للمفاتيح المرئية — تبقى الكمون دون الميلي ثانية لأحجام النماذج المعتادة ونموذج التكلفة المنشور تحليلي لا يعتمد على رموز نموذج.

لا مطابقة ضبابية ولا عتبة مسافة تحرير ولا خطوة تضمين دلالي؛ ذلك يعود لأدوات أخرى مثل إزالة تكرار CSV الدلالية عندما تتشابه الصفوف دون أن تتساوى كنص.

أين تظهر إزالة الأسطر المكررة في العمل الفعلي

يحتاج المطوّرون الذين ينظفون مقتطفات السجل ومقالب تاريخ shell قائمة فريدة بأول ظهور قبل اللصق في التذاكر أو تقارير الأخطاء. وغالبًا تريد فرق البيانات التي تصدّر عمودًا واحدًا كنص عادي قيمًا فريدة دون فتح جدول كامل أو كتابة سكربت awk لمرة واحدة. يستخدم محررو المحتوى الذين يوحّدون قوائم الوسوم وأسماء الفئات ومدخلات المسرد الوضع غير الحساس لحالة الأحرف لانهيار تنويعات الإملاء مع الإبقاء على أول كتابة مفضلة.

يجهّز الطلاب والمعلمون قوائم مفردات ومجموعات أسطر مفاتيح الإجابة دون تكرارات عرضية من النسخ واللصق. يدمج مسؤولو الأنظمة قوائم الحظر والسماح من مصادر متعددة ويحتاجون مجموعة فريدة حتمية لا تعيد ترتيب المدخلات الموثوقة السابقة. إذا احتجتم لاحقًا إزالة تكرار CSV على مستوى الصف بمفاتيح أعمدة، أو دمجًا دلاليًا ضبابيًا لصفوف شبه مكررة، أو تجزئة ثنائية لصور مكررة، فاعاملوها كنوايا بحث وصفحات هبوط منفصلة بدل تحميل صفحة إزالة-الأسطر-المكررة هذه.

تنظيف مقتطفات السجل والتاريخ

الصقوا سجلات متعددة الأسطر أو تاريخ shell واحتفظوا بأول ظهور لكل سطر لتبقى التذاكر والتقارير قصيرة دون فقدان الترتيب.

قوائم وسوم ومفردات فريدة

اطووا الوسوم أو أسطر المسرد المتكررة، مع تجاهل حالة الأحرف اختياريًا، مع الحفاظ على أول إملاء مفضّل.

كيف تُكتشف الأسطر المكررة؟

يُقسَّم النص على أسطر جديدة بعد تطبيع CRLF. يُحتفظ بأول ظهور؛ وتُستبعد المطابقات اللاحقة.

هل تُحفظ الأسطر الفارغة؟

نعم. السطر الفارغ قيمة سطر صالحة. يُحتفظ بأول سطر فارغ؛ وتُعامل الأسطر الفارغة الإضافية كمكررات لذلك السطر الفارغ.

ماذا يحدث إذا كان النص فارغًا؟

قدّموا سلسلة غير فارغة؛ تُعامل الصناديق الفارغة كأخطاء عميل ولا تُحاسب.

أي نسخة من السطر المكرر تبقى؟

تبقى النسخة الأولى دائمًا. تُحذف كل النسخ اللاحقة وتحتفظ الأسطر الباقية بترتيب ظهورها الأول، فلا تتحرك العناصر الموجودة في أعلى القائمة أبدًا.

هل يُعد Apple وapple سطرين مكررين؟

فقط إذا فعّلت خيار تجاهل حالة الأحرف، وعندها تبقى الكتابة التي وردت أولًا. أما افتراضيًا فالمقارنة دقيقة، وحتى المسافات في نهاية السطر تُحدث فرقًا.

كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.

POSThttps://api.kit.forhosting.com/str/dedupe-lines

صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.

curl -X POST https://api.kit.forhosting.com/str/dedupe-lines \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"apple\nbanana\napple\ncherry\nbanana"}'
{
  "text": "apple\nbanana\napple\ncherry\nbanana"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "str.dedupe_lines",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.

لكل طلب$0.002

السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.

HTTPالرمزالمعنى
401unauthorizedمفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك.
402insufficient_balanceرصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة.
404unknown_typeنوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب.
429rate_limitedتجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة.

كيف تعمل إزالة تكرار الأسطر وما يعنيه ignore_case

عندما يكون ignore_case بقيمة true يكون مفتاح الانتماء هو الشكل بحروف Unicode الصغيرة للسطر، بينما تبقى السلسلة المحتفظ بها أول كتابة أصلية قدمتموها، وهو التوقع المعتاد عند تنظيف قوائم جهات الاتصال ومقالب الوسوم دون إعادة كتابة العناوين. الحمولات الطويلة جدًا فوق سقف الأحرف الموثق تفشل بـ invalid_input حتى لا يحتكر طلب واحد ذاكرة Worker.

ما ترسلونه وما تستلمونه

أرسلوا حقلًا إلزاميًا باسم text يحتوي السلسلة متعددة الأسطر غير الفارغة المراد تنظيفها. تُحوَّل الأرقام والقيم المنطقية المستخدمة كجسم نص إلى أشكالها العشرية أو true/false؛ وتُرفض الكائنات والمصفوفات وNaN وInfinity. يفشل النص الفارغ في التحقق قبل بناء أي مجموعة ولا يُحاسب. تُقبل أسماء بديلة مثل input وvalue وdata وs وmessage وstring وcontent وbody لراحة ربط العملاء الأقدم. أرسلوا اختياريًا ignore_case كقيمة منطقية أو بأشكال السلسلة الشائعة true وfalse وyes وno وone أو zero. عند النجاح تعيد الاستجابة text كالسلسلة المزالة التكرار، وoriginal كسلسلة الإدخال للصدى والتنقيح، وoriginal_lines وunique_lines وremoved_lines وعلامة ignore_case المحلولة وoperation مضبوطة على dedupe_lines. تشمل الفحوصات الكلاسيكية قائمة فواكه بتكرار banana وapple تنهار إلى ثلاثة أسطر فريدة، وقائمة بحالة مختلطة تنهار أكثر عندما يكون ignore_case true، وسطرًا فريدًا واحدًا يمر دون تغيير مع removed_lines يساوي صفرًا. تسعير استدعاءات API الناجحة هو القاعدة المنشورة $0.002 لكل عنصر؛ وفشل التحقق بما فيه النص الفارغ لا يستهلك الرصيد المدفوع مسبقًا. الشكل JSON نفسه يغذي ودجت المتصفح المولَّد تلقائيًا، فتظل عروض الصف والأنابيب الآلية متوافقة على كل اسم حقل وعدّاد.

أين تظهر إزالة الأسطر المكررة في العمل الفعلي

ولأن هذه القدرة محرك parse خالص، فإن تسعير API هو القاعدة المنشورة $0.002 لكل عنصر ناجح والتحقق الفاشل لا يستهلك الرصيد.

تطبيع أعمدة التصدير كنص

حوّلوا مقلب نص عادي لعمود واحد إلى قائمة أسطر فريدة للـ fixtures وقوائم الحظر وQA دون فتح جدول.

هل يغيّر ignore_case الإملاء المحتفظ به؟

لا. يُحوَّل مفتاح المقارنة فقط إلى أحرف صغيرة. نص السطر المحتفظ به هو دائمًا أول إملاء أصلي قدمتموه.

ما التكلفة؟

أداة المتصفح مجانية وتعمل محليًا. تستخدم طلبات API رصيد KIT المدفوع مسبقًا بمبلغ $0.002 لكل عنصر ناجح؛ ولا يُحاسب الإدخال غير الصالح.

اطّلع على توثيق KIT الكامل ←