حساب تكرار كلمة في النص
في «Blue skies look blue, but blueberry is not blue.» تظهر كلمة blue ثلاث مرات: لا تُحسب blueberry لأن العدّ للكلمات الكاملة فقط، ولا تهم حالة الأحرف إلا إذا طلبت ذلك. ويعطي إجمالي 9 كلمات سياقًا. مجاني في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
مثال محلول
- النص
- Blue skies look blue, but blueberry is not blue.
- الكلمة
- blue
- الكمية
- 3
- إجمالي الكلمات
- 9
احسب عدد مرات ظهور كلمة محددة في نص من دون احتساب حروفها خطأً داخل كلمات أطول. يفيد عدّاد الكلمات الكاملة الكتّاب في مراجعة التكرار، والمحررين في متابعة المصطلحات الإلزامية، والمدرسين في فحص الأعمال، والمطورين في التحقق من المحتوى المنشأ. لا تميّز المطابقة افتراضيًا بين الأحرف الكبيرة والصغيرة، ولذلك تدخل Word وword في العدد نفسه، مع إمكان تفعيل وضع اختياري للفصل بينهما. تدعم الأداة حروف Unicode وأرقامه، بما في ذلك الكلمات ذات الفاصلة العليا الداخلية. تعرض النتيجة أيضًا إجمالي الكلمات التي تم التعرف إليها لتوضيح سياق العدد.
كيفية حساب مرات ظهور الكلمة الكاملة
تجيب مطابقة الكلمات الكاملة عن سؤال أدق وأكثر عملية من البحث عن سلسلة محارف. إذا كانت الكلمة المستهدفة cat مثلًا، فقد يحسب بحث السلسلة الجزئية وجودها داخل catalog أو scatter، فتكون النتيجة مضللة. تقسّم هذه الأداة النص المقدم أولًا إلى وحدات كلمات متوافقة مع Unicode، ثم تقارن كل وحدة كاملة بالكلمة المطلوبة.
تُعد سلاسل الحروف والأرقام كلمات، وتُحفظ الفاصلة العليا الواقعة داخل الكلمة؛ لذلك يمكن حساب الاختصارات والأسماء مثل don't وO'Brien بوصفها وحدة واحدة. تحدد المسافات وعلامات الترقيم وفواصل الأسطر والشرطات وغيرها من الفواصل حدود الكلمات. تمسح الخوارزمية المحتوى من اليسار إلى اليمين ولا تزيد النتيجة إلا عندما تساوي وحدة كاملة الكلمة المستهدفة.
لا تستخرج الجذور ولا تدمج الصيغ النحوية، ولذلك تبقى edit وedits وedited وediting كلمات منفصلة. هذا السلوك مقصود، لأن المحررين وعمليات التحقق الآلية يحتاجون عادةً إلى عدد دقيق يمكن تفسيره، لا إلى تقدير لغوي. تعطي المدخلات المتطابقة مخرجات متطابقة دائمًا، إذ لا تستخدم الأداة شبكة أو قيمًا عشوائية أو قواميس خارجية أو الوقت الحالي.
اختيار حساسية حالة الأحرف وإعداد المدخلات
أرسل text كسلسلة غير فارغة، وأرسل word كوحدة كلمة واحدة بالضبط. لا يجوز أن تحتوي الكلمة المستهدفة على مسافات محيطة أو فواصل أو علامات اقتباس أو عدة كلمات؛ فرفض هذه الصيغ الملتبسة يمنع اعتبار حساب العبارة حسابًا لكلمة واحدة. في هذا الوضع، تتطابق BLUE وBlue وblue جميعها مع الكلمة blue بعد التحويل المتوافق مع Unicode إلى الأحرف الصغيرة.
تعيد النتيجة الكلمة المستهدفة الأصلية من دون تعديل، لكي تعرض الواجهات ما طلبتموه بدقة. يمكن أن يتضمن النص عدة فقرات وكثيرًا من علامات الترقيم حتى الحد المعلن، وهو 100000 محرف. يعيد النص الصالح الذي لا يحتوي على تطابق قيمة count تساوي 0؛ والصفر نتيجة مفيدة وليس خطأ.
قبل أتمتة قاعدة تحريرية، اختبروا عينة مختلطة الحالات وكلمة أطول تحتوي على الهدف للتأكد من أن الوضع المختار يوافق سياستكم.
استخدام النتيجة في مسارات التحرير والأتمتة
لإجراء فحص سريع، الصقوا مسودة في أداة المتصفح، وأدخلوا الكلمة المفتاحية، ثم اقرؤوا عدد التطابقات الكاملة. يناسب التنفيذ في المتصفح نصوص العمل الخاصة لأن تطبيق المستوى A يستخدم المكتبة الحتمية نفسها التي يستخدمها معالج الخادم. يستطيع المحرر مقارنة الأعداد قبل إعادة الصياغة وبعدها، ويمكن لنظام تعليمي التأكد من ظهور كلمة مفردات في تمرين، كما يمكن لاختبار قالب اشتراط وجود المصطلح المطلوب مرة واحدة على الأقل.
لا تعدّوا العدد المرتفع دليلًا على الجودة، لأن التكرار قد يشير إلى التأكيد أو الامتثال أو ضعف الأسلوب بحسب المستند. كذلك لا تجمع المطابقة الدقيقة صيغ الجمع أو التصريفات أو المرادفات أو العبارات المختلفة في علامات الترقيم. إذا كانت سياستكم تقبل عدة صيغ، فاستدعوا القدرة مرة لكل هدف صريح واجمعوا النتائج في تطبيقكم.
ثبّتوا أمثلة ممثلة للنجاح وأخطاء التحقق في الاختبارات الآلية حتى تُكتشف أي تغييرات في قواعد حالة الأحرف أو الحدود قبل أن تؤثر في محتوى الإنتاج.
حالات الاستخدام
فحص تكرار الكلمات المفتاحية
يحسب الكتّاب كلمة مفتاحية مطابقة تمامًا من دون إدخال التطابقات العرضية داخل كلمات أطول.
تدقيق المصطلحات التحريرية
يتحقق المحررون من وجود المصطلحات المطلوبة ويقارنون استخدامها بين مراجعات المستند المتعاقبة.
اختبارات المحتوى الآلية
يتأكد المطورون من أن الصفحات المنشأة تحتوي على كلمة كاملة بالعدد المتوقع من المرات.
الأسئلة الشائعة
هل تتطابق cat مع catalog أو scatter؟
لا. يقارن العدّاد وحدات كلمات كاملة، فلا يحسب الهدف إذا ظهر داخل كلمة أطول فقط.
هل يمكن حساب عبارة من عدة كلمات؟
لا. يقبل الحقل word كلمة واحدة بالضبط. استخدموا قدرة بحث عن العبارات عندما تكون الحدود بين عدة وحدات مهمة.
ماذا يحدث إذا لم تظهر الكلمة؟
ينجح الطلب وتكون count مساوية لـ 0. عدم وجود تطابق نتيجة صالحة وليس خطأ في المدخلات.
هل تُحسب Blue بحرف كبير مثل blue؟
نعم، تُتجاهل حالة الأحرف افتراضيًا، فتتطابق BLUE وBlue وblue كلها. فعّل التمييز بين الحروف الكبيرة والصغيرة عندما يكون لها معنى، مثل التفريق بين US وus.
هل تُحسب الصيغ الأخرى للكلمة أيضًا؟
لا. لا تُرد الكلمات إلى جذرها، لذا تُعد edit وedits وedited وediting أربع كلمات مختلفة. عُدّ كل صيغة على حدة إذا احتجت إليها كلها.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/str/count-word-occurrences \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Blue skies look blue, but blueberry is not blue.","word":"blue"}'const res = await fetch("https://api.kit.forhosting.com/str/count-word-occurrences", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Blue skies look blue, but blueberry is not blue.",
"word": "blue"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/str/count-word-occurrences",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Blue skies look blue, but blueberry is not blue.",
"word": "blue"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/str/count-word-occurrences", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Blue skies look blue, but blueberry is not blue.","word":"blue"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Blue skies look blue, but blueberry is not blue.","word":"blue"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/str/count-word-occurrences", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"text": "Blue skies look blue, but blueberry is not blue.",
"word": "blue"
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "str.count_word_occurrences",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الحدود
max_chars | 100000 |
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
ملاحظات تقنية
تتم المعالجة محليًا وبصورة حتمية في أداة المتصفح المجانية، بينما تبلغ كلفة كل عنصر API ناجح $0.002.
كيفية حساب مرات ظهور الكلمة الكاملة
تتضمن الاستجابة count وtotal_words والكلمة المرسلة ووضع حالة الأحرف ووسمًا للطريقة.
اختيار حساسية حالة الأحرف وإعداد المدخلات
تكون case_sensitive مساوية لـ false افتراضيًا. اضبط case_sensitive على true عندما تكون حالة الأحرف ذات دلالة، مثل التحقق من التزام اسم منتج بالصياغة المعتمدة أو التمييز بين اختصار وكلمة عادية. تؤدي الحقول المفقودة والسلاسل الفارغة وصيغ الكلمات غير الصالحة والخيارات غير المنطقية والنصوص المتجاوزة للحد إلى invalid_input. تتوفر أسماء بديلة شائعة للتكامل، إلا أن العملاء الجدد ينبغي أن يعتمدوا text وword وcase_sensitive لأنها تولد أنواع SDK وتسميات نماذج أوضح.
استخدام النتيجة في مسارات التحرير والأتمتة
في المسارات القابلة للتكرار، استدعوا API بسعر $0.002 لكل عنصر ناجح واحفظوا العدد مع مراجعة المستند. يوفر الحقل total_words سياقًا للنسب البسيطة، لكن هذه القدرة لا تحسب كثافة الكلمات المفتاحية ولا ترتب جميع الكلمات ولا توصي بحد SEO؛ فتلك مهام تحليلية أخرى.
أسئلة تقنية
هل تراعي المطابقة حالة الأحرف؟
ليس افتراضيًا. اضبطوا case_sensitive على true عندما يلزم حساب صيغ الأحرف الكبيرة والصغيرة بصورة منفصلة.
ما كلفة طلب API؟
أداة المتصفح مجانية. يستهلك كل عنصر API ناجح $0.002 من الرصيد المدفوع مسبقًا، وتُرفض المدخلات غير الصالحة.