عد عناصر القائمة
تعطي apples وbananas وسطر فارغ وcherries عدد 3 عناصر، مع أن النص يمتد على 5 أسطر: تُتجاهل الأسطر الفارغة افتراضيًا. عُدّ قوائم التسوق والسفر والأسماء والمهام بعنصر في كل سطر. مجاني في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
مثال محلول
- النص
- apples bananas cherries
- الكمية
- 3
- عدد العناصر
- 3
- إجمالي الأسطر
- 5
- الأسطر الفارغة
- 2
عدّ عناصر القائمة مهمة جرد يومية: الصق قائمة تسوق أو قائمة تعبئة أو سجل أسماء أو قائمة تذاكر واعرف كم سطرًا يهم فعليًا. يقبل عدّاد عناصر القائمة هذا نصًا غير فارغًا بمدخل واحد لكل سطر، ويقسّمه عند إرجاع السطر أو تغذية السطر أو أزواج CRLF، ثم يعيد عددًا ثابتًا من العناصر. افتراضيًا تُتجاهل الأسطر الفارغة أو التي تحتوي مسافات فقط حتى لا تضخّم صفوف الفراغ الجرد؛ عطّل هذا الخيار عندما يجب أن يُحسب كل مقطع سطر بما في ذلك الفراغات الختامية.
معنى عدّ عناصر القائمة وكيفية التعامل مع الأسطر الفارغة
يجيب عدّ عناصر القائمة عن نية بحث مختلفة عن عدّاد الأسطر العام: كم مدخلًا في قائمتي، وكم منتجًا أو اسمًا أو مهمة يظهر واحدًا في كل سطر، وهل يجب استبعاد صفوف الفراغ الفارغة عند التحقق من الجرد. تعرّف هذه القدرة العنصر بأنه مقطع سطر بين منتهيات الأسطر. المنتهيات هي إرجاع السطر أو تغذية السطر أو زوج الإرجاع مع التغذية بأسلوب Windows يُعامل كفاصل واحد حتى لا يُحسب ملف CRLF مرتين.
بعد التقسيم يُصنَّف كل مقطع. السطر غير فارغ عندما يزيل trim كل المسافات الأولى والأخيرة ويبقى شيء: حروف أو أرقام أو ترقيم أو رموز مرئية أخرى. السطر فارغ عندما يكون المقطع فارغًا أو يصبح فارغًا بعد trim، ويشمل ذلك المسافات الصرفة وعلامات الجدولة والصفوف الفارغة تمامًا بين الكتل.
فضّل حاسبة عدّ عناصر القائمة هذه عندما تكون نية البحث عدّ عناصر القائمة أو كم عنصرًا في قائمتي أو عدّاد جرد القوائم عبر الإنترنت. لا تستخدمها عندما تحتاج عدّ كلمات أو عدّ أحرف كوعد أساسي أو كشف فقرات أو إحصاءات أسطر متعددة الحقول في صفحة أخرى؛ فتلك مصطلحات مختلفة.
حالات الاستخدام
جرد التسوق والتعبئة
الصق قائمة تسوق أو تعبئة بعنصر واحد لكل سطر واحصل على عدد يتجاهل افتراضيًا صفوف الفراغ الفارغة.
فحوص السجلات والbacklogs
يعدّ المعلمون ومديرو المشاريع وفرق الدعم الأسماء أو التذاكر في قوائم ملصوقة دون تثبيت أدوات shell محلية.
الأسئلة الشائعة
ماذا يحدث إذا كان text فارغًا؟
تُرفض سلسلة بطول صفر ولا تُحتسب؛ ويُسمح بنص غير فارغ من مسافات فقط وقد يبلّغ count صفرًا عند تجاهل الفراغات.
كيف يُعامل CRLF وLF؟
يُعامل إرجاع السطر وتغذية السطر وأزواج CRLF كلها كفواصل أسطر. يُحسب CRLF كفاصل واحد حتى لا تُحسب القوائم بأسلوب Windows مرتين.
لماذا تحتوي قائمتي على أسطر أكثر من العناصر؟
لأن الأسطر الفارغة تُتجاهل افتراضيًا. فالمثال الذي يضم apples وbananas وسطرًا فارغًا وcherries يمتد على 5 أسطر، لكن 3 منها فقط تحتوي على عنصر، فيكون الناتج 3.
كيف أعدّ الأسطر الفارغة أيضًا؟
أوقف الخيار الذي يتجاهل الأسطر الفارغة. عندها يُحسب كل سطر، بما في ذلك الأسطر الفارغة والسطر الذي يلي فاصل السطر الأخير، فيعطي المثال نفسه 5 بدل 3.
هل يُعد السطر المكوّن من مسافات فقط عنصرًا؟
لا افتراضيًا. السطر الذي لا يحتوي إلا على مسافات أو علامات جدولة يُعامل كسطر فارغ ولا يُحسب، ولا يُعد عنصرًا إلا إذا أوقفت خيار تجاهل الأسطر الفارغة.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/str/count-list-items \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"apples\nbananas\n\ncherries\n"}'const res = await fetch("https://api.kit.forhosting.com/str/count-list-items", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "apples\nbananas\n\ncherries\n"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/str/count-list-items",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "apples\nbananas\n\ncherries\n"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/str/count-list-items", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"apples\\nbananas\\n\\ncherries\\n"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"apples\nbananas\n\ncherries\n"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/str/count-list-items", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"text": "apples\nbananas\n\ncherries\n"
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "str.count_list_items",
"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 حتى لا تخزّن خطوط الأنابيب حمولات بطول صفر بالخطأ.
معنى عدّ عناصر القائمة وكيفية التعامل مع الأسطر الفارغة
الحقل الرئيسي count (المعروض أيضًا كـ item_count) يساوي non_blank_lines عندما يكون ignore_blank بقيمة true، ويساوي total_lines عندما يكون ignore_blank بقيمة false. هذا المفتاح الواحد هو وعد المنتج: جرد سريع يوافق كيف يفكر الناس بالقوائم لا كيف تعرض المحررات فواصل الأسطر الختامية.
عقد الإدخال وخيار ignore_blank وقراءة حقول الاستجابة
القيم المنطقية تعمل مباشرة؛ كما تُقبل أشكال السلسلة true false yes no on off والعددي صفر أو واحد حتى تبقى منشورات النماذج والعملاء بأسلوب الاستعلام بسيطة. أرسل جسم JSON مع حقل السلسلة الإلزامي text مضبوطًا على القائمة غير الفارغة التي تريد قياسها. تُقبل الأسماء البديلة input وvalue وs وcontent وbody وlist عندما تستخدم عملاء قديمة أو مولّدات نماذج تلك الأسماء. الخيار ignore_blank افتراضيًا true؛ وتشير الأسماء skip_blank وskip_empty وignore_empty إلى نفس العلم. غياب text أو قيمة غير سلسلة أو سلسلة بطول صفر ترفع invalid_input برسالة تسمّي المشكلة، ولا تُحتسب تلك الإخفاقات على API المدفوعة مسبقًا. يُسمح بنص المسافات فقط عندما لا يكون بطول صفر: مع ignore_blank الافتراضي يبلّغ count صفرًا وblank_lines مساويًا لـ total_lines، وهو نتيجة الجرد الصحيحة لقائمة بلا عناصر حقيقية. عند النجاح تتضمن الاستجابة count وitem_count كإجمالي الجرد تحت الخيار الحالي، وtotal_lines لكل مقطع سطر، وblank_lines وnon_blank_lines للتدقيق، وignore_blank يعيد الإعداد المستخدم، وcharacter_count كطول UTF-16 للسلسلة الأصلية، وoriginal يعيد الإدخال الدقيق لجداول الواجهة، وmethod دائمًا count_list_items حتى يتفرع الكود اللاحق دون شم الأشكال. استخدم count وحده عندما يحتاج شارة فقط إلى عدد العناصر؛ واستخدم blank_lines عندما يهتم فحص أسلوب بصفوف الفراغ الفارغة بين الكتل؛ واضبط ignore_blank على false عندما يجب أن يزيد فاصل سطر ختامي العد ليطابق بروتوكولًا صارمًا موجّهًا للأسطر. أبقِ الحمولات عند أحجام رسائل ومستندات عادية تناسب عزل Worker لا تفريغات متعددة الميغابايت؛ فهذا المنتج أداة نص للقوائم لا مستودع ملفات بالجملة.
استخدام API والتسعير وسير العمل والحدود العملية
استدعِ أداة عدّ عناصر القائمة المجانية في المتصفح لقوائم التسوق وقوائم التعبئة وسجلات الصفوف وbacklogs السباق وتدقيقات paste-bin دون تثبيت wc أو كتابة سكربت بكل لغة. سير عمل نموذجي يلصق مسودة قائمة تعبئة ويعدّ العناصر مع تجاهل الفراغات ثم يقارن بهدف التعبئة قبل السفر. اقرن هذه النهاية بأدوات فرز أو كلمات فريدة عندما تكون الخطوة التالية تنظيف القائمة، لكن أبقِ عدّ عناصر القائمة كصفحة خاصة حتى لا تختلط نية البحث count-list-items بإحصاءات الأسطر العامة أو تردد الكلمات. استخدم API KIT المدفوعة مسبقًا عندما يحتاج CMS أو مسار محتوى أو harness اختبار أو عميل جوّال العقد نفسه تحت الرصيد بسعر $0.002 لكل عنصر ناجح؛ وإخفاقات التحقق لا تستهلك الرصيد أبدًا بعد رفض المحرك. سير آخر يبني تجهيزات حتمية: يغذي عيّنة متعددة الأسطر معروفة بصفوف فراغ فارغة، ويثبّت count وtotal_lines وblank_lines، ويفشل CI إن أساء إعادة هيكلة لاحقة معالجة CRLF أو افتراضي ignore_blank. لا تتوقع تحليل أعمدة CSV أو طول مصفوفات JSON أو إزالة علامات التعداد؛ فتلك مشكلات منفصلة بمصطلحات SEO منفصلة. يمكن للمؤلفين الذين ينشرون SDK توثيق text كالحقل الإلزامي الوحيد، وإظهار ignore_blank بقيمة true افتراضيًا، وتقديم مثال نجاح متعدد الأسطر ومثال خطأ لسلسلة فارغة حتى يرى المدمجون جانبي العقد. ثبّت تجهيزات لعنصر ASCII واحد وأسطر فارغة مختلطة وignore_blank false ونهايات CRLF حتى لا تغيّر إعادة الهيكلة المجاميع بصمت.
حالات التكامل
تجهيزات CI لمسارات القوائم
تثبّت سكربتات البناء مخرجات golden لعدّ العناصر حتى يفشل التكامل المستمر فورًا عند سوء معالجة CRLF أو تراجع الإدخال الفارغ.
أسئلة تقنية
كيف أعدّ عناصر القائمة بهذه الأداة؟
أرسل JSON مع text مضبوطًا على قائمتك غير الفارغة (عنصر لكل سطر). تعيد الاستجابة count وitem_count بالإضافة إلى total_lines وblank_lines وnon_blank_lines.
ماذا يفعل ignore_blank؟
عندما يكون true (الافتراضي) لا تُحسب الأسطر الفارغة أو التي تحتوي مسافات فقط كعناصر. عندما يكون false يُحسب كل مقطع سطر بما في ذلك الصفوف الفارغة الختامية بعد فاصل سطر.
هل عدّاد عناصر القائمة مجاني؟
تعمل أداة المتصفح مجانًا على جهازك. تستخدم استدعاءات API رصيد KIT المدفوع مسبقًا بسعر $0.002 لكل عنصر ناجح؛ وإخفاقات التحقق لا تُحتسب.