Bitbybit Docs
    Preparing search index...

    Class TextBitByBit

    العمل مع النص: التقسيم والوصل والبحث والتشذيب والحشو وتغيير حالة الأحرف والتعابير النمطية والتنسيق بالعناصر النائبة. يحول vectorChar و vectorText النص إلى مسارات خطية مرسومة بخط ضربات بسيط، بحيث يمكن للكلمات أن تصبح هندسة. المواضع في النص تبدأ من 0.

    Index

    Constructors

    create

    • يمرر نصا دون تغيير، بحيث يمكن إعطاء القيمة اسما وإعادة استخدامها.

      مثال: 'Hello World' -> 'Hello World'

      Parameters

      Returns string

      النص نفسه

    query

    • يخبر ما إذا كان نص يحوي نص بحث.

      مثال: 'hello world' يحوي 'world' -> true

      Parameters

      Returns boolean

      true عندما يرد نص البحث فيه

      const has = bitbybit.text.includes({ text: "hello world", search: "world" });
      
    • يخبر ما إذا كان نص يبدأ بنص بحث.

      مثال: 'hello world' يبدأ بـ 'hello' -> true

      Parameters

      • inputs: TextSearchDto

        النص وما يُبحث عنه في بدايته

      Returns boolean

      true عندما يبدأ النص به

      const starts = bitbybit.text.startsWith({ text: "hello world", search: "hello" });
      
    • يخبر ما إذا كان نص ينتهي بنص بحث.

      مثال: 'hello world' ينتهي بـ 'world' -> true

      Parameters

      • inputs: TextSearchDto

        النص وما يُبحث عنه في نهايته

      Returns boolean

      true عندما ينتهي النص به

      const ends = bitbybit.text.endsWith({ text: "hello world", search: "world" });
      
    • يجد أين يظهر نص بحث أول مرة، بعد الأحرف من 0، أو -1 عندما لا يظهر.

      مثال: 'hello world' بالبحث عن 'world' -> 6

      Parameters

      Returns number

      موضع أول ورود، أو -1

      const at = bitbybit.text.indexOf({ text: "hello world", search: "world" });
      
    • يجد أين يظهر نص بحث آخر مرة، بعد الأحرف من 0، أو -1 عندما لا يظهر.

      مثال: 'hello world hello' بالبحث عن 'hello' -> 12

      Parameters

      Returns number

      موضع آخر ورود، أو -1

      const at = bitbybit.text.lastIndexOf({ text: "hello world hello", search: "hello" });
      
    • يقرأ الحرف عند موضع، بدءا من 0.

      مثال: 'hello' عند 1 -> 'e'

      Parameters

      Returns string

      الحرف، أو نص فارغ عندما يكون الموضع خارج النص

      const second = bitbybit.text.charAt({ text: "hello", index: 1 });
      
    • يعد الأحرف في نص.

      مثال: 'hello' -> 5

      Parameters

      Returns number

      عدد الأحرف

    • يخبر ما إذا كان نص فارغا أو لا يحوي سوى مسافات بيضاء.

      مثال: ' ' -> true، 'a' -> false

      Parameters

      Returns boolean

      true عندما لا يوجد سوى مسافات بيضاء

    regex

    • يخبر ما إذا كان تعبير نمطي يطابق في مكان ما من النص.

      مثال: 'hello123' مقابل '[0-9]+' -> true

      Parameters

      Returns boolean

      true عندما يتطابق النمط

      const hasDigits = bitbybit.text.regexTest({ text: "hello123", pattern: "[0-9]+", flags: "" });
      
    • يجد أجزاء النص التي يطابقها تعبير نمطي.

      مع العلم g يُسرد كل تطابق؛ وبدونه التطابق الأول فقط ومجموعات التقاطه. عدم التطابق يعطي null. مثال: 'hello123world456' مقابل '[0-9]+' مع 'g' -> ['123', '456']

      Parameters

      Returns string[]

      التطابقات، أو null عندما لا توجد

      const numbers = bitbybit.text.regexMatch({ text: "hello123world456", pattern: "[0-9]+", flags: "g" });
      
    • يستبدل ما يطابقه تعبير نمطي بنص آخر.

      مع العلم g يُستبدل كل تطابق؛ وبدونه الأول فقط. مثال: 'hello123world456' مقابل '[0-9]+' مع 'g'، مستبدلا بـ 'X' -> 'helloXworldX'

      Parameters

      Returns string

      النص بعد إجراء الاستبدالات

      const clean = bitbybit.text.regexReplace({ text: "hello123world456", pattern: "[0-9]+", flags: "g", replaceWith: "X" });
      
    • يجد أين يطابق تعبير نمطي أول مرة، بعد الأحرف من 0، أو -1 عندما لا يطابق.

      مثال: 'hello123' مقابل '[0-9]+' -> 5

      Parameters

      Returns number

      موضع أول تطابق، أو -1

      const at = bitbybit.text.regexSearch({ text: "hello123", pattern: "[0-9]+", flags: "" });
      
    • يقطع نصا إلى قطع حيثما يطابق تعبير نمطي؛ تُحذف التطابقات نفسها.

      مثال: 'a1b2c3' مقسوما بـ '[0-9]+' -> ['a', 'b', 'c', '']

      Parameters

      Returns string[]

      الأجزاء، بالترتيب

      const letters = bitbybit.text.regexSplit({ text: "a1b2c3", pattern: "[0-9]+", flags: "" });
      

    transform

    • يقطع نصا إلى قطع حيثما ظهر فاصل؛ يُحذف الفاصل نفسه.

      مثال: 'apple,banana,cherry' مقسوما بـ ',' -> ['apple', 'banana', 'cherry']

      Parameters

      Returns string[]

      الأجزاء، بالترتيب

      const parts = bitbybit.text.split({ text: "apple,banana,cherry", separator: "," });
      
    • يستبدل كل ظهور لنص بحث بنص آخر.

      مثال: 'hello hello' باستبدال 'hello' بـ 'hi' -> 'hi hi'

      Parameters

      • inputs: TextReplaceDto

        النص وما يُبحث عنه وما يوضع مكانه

      Returns string

      النص بعد إجراء الاستبدالات

      const greeting = bitbybit.text.replaceAll({ text: "hello hello", search: "hello", replaceWith: "hi" });
      
    • يوصل قائمة نصوص في نص واحد، بفاصل بين المتجاورات.

      مثال: ['apple', 'banana', 'cherry'] موصولة بـ ', ' -> 'apple, banana, cherry'

      Parameters

      Returns string

      النص الموصول

      const line = bitbybit.text.join({ list: ["apple", "banana"], separator: ", " });
      
    • يحول أي قيمة إلى نص، بالطريقة التي تطبعها بها JavaScript.

      مثال: 42 -> '42'، [1, 2] -> '1,2'

      Type Parameters

      • T

      Parameters

      Returns string

      القيمة كنص

    • يحول كل عنصر في قائمة إلى نص، بالطريقة التي تطبعها بها JavaScript.

      مثال: [1, 2.5, true] -> ['1', '2.5', 'true']

      Type Parameters

      • T

      Parameters

      Returns string[]

      نص واحد لكل عنصر، بالترتيب

    • يملأ العناصر النائبة المرقمة في نص بقيم: {0} يأخذ القيمة الأولى، و {1} الثانية، وهكذا.

      العنصر النائب الذي لا قيمة له يُترك كما هو. مثال: 'Point: ({0}, {1})' مع [10, 5] -> 'Point: (10, 5)'

      Parameters

      • inputs: TextFormatDto

        النص ذو العناصر النائبة والقيم المراد تعبئتها

      Returns string

      النص المعبأ

      const label = bitbybit.text.format({ text: "Point: ({0}, {1})", values: ["10", "5"] });
      
    • يأخذ الأحرف من موضع بداية حتى موضع نهاية، دون شموله.

      البداية الأكبر من النهاية تبدل الاثنين، والمواضع السالبة تُعد 0. مثال: 'hello world' من 0 إلى 5 -> 'hello'

      Parameters

      Returns string

      الأحرف في ذلك النطاق

      const word = bitbybit.text.substring({ text: "hello world", start: 0, end: 5 });
      
    • يأخذ الأحرف من موضع بداية حتى موضع نهاية، دون شموله.

      على خلاف substring، الموضع السالب يُعد من نهاية النص. مثال: 'hello world' من 0 إلى 5 -> 'hello'؛ من -5 -> 'world'

      Parameters

      Returns string

      الأحرف في ذلك النطاق

      const tail = bitbybit.text.slice({ text: "hello world", start: 6, end: 11 });
      
    • يزيل المسافات وعلامات الجدولة وفواصل الأسطر من طرفي النص.

      مثال: ' hello ' -> 'hello'

      Parameters

      Returns string

      النص المشذب

    • يزيل المسافات وعلامات الجدولة وفواصل الأسطر من بداية النص.

      مثال: ' hello ' -> 'hello '

      Parameters

      Returns string

      النص بدون المسافات البادئة

    • يزيل المسافات وعلامات الجدولة وفواصل الأسطر من نهاية النص.

      مثال: ' hello ' -> ' hello'

      Parameters

      Returns string

      النص بدون المسافات اللاحقة

    • يضيف نص حشو في المقدمة حتى يبلغ النص طولا؛ النص الذي بلغ ذلك الطول أصلا يُترك كما هو.

      مثال: 'x' حتى الطول 3 بـ 'a' -> 'aax'

      Parameters

      • inputs: TextPadDto

        النص والطول المراد بلوغه والحشو

      Returns string

      النص المحشو

      const padded = bitbybit.text.padStart({ text: "7", length: 3, padString: "0" });
      
    • يضيف نص حشو في المؤخرة حتى يبلغ النص طولا؛ النص الذي بلغ ذلك الطول أصلا يُترك كما هو.

      مثال: 'x' حتى الطول 3 بـ 'a' -> 'xaa'

      Parameters

      • inputs: TextPadDto

        النص والطول المراد بلوغه والحشو

      Returns string

      النص المحشو

      const padded = bitbybit.text.padEnd({ text: "x", length: 3, padString: "a" });
      
    • يحول كل حرف إلى حرف كبير.

      مثال: 'hello' -> 'HELLO'

      Parameters

      Returns string

      النص بأحرف كبيرة

    • يحول كل حرف إلى حرف صغير.

      مثال: 'HELLO' -> 'hello'

      Parameters

      Returns string

      النص بأحرف صغيرة

    • يحول الحرف الأول إلى حرف كبير ويترك الباقي كما هو.

      مثال: 'hello world' -> 'Hello world'

      Parameters

      Returns string

      النص وحرفه الأول كبير

    • يحول الحرف الأول إلى حرف صغير ويترك الباقي كما هو.

      مثال: 'Hello World' -> 'hello World'

      Parameters

      Returns string

      النص وحرفه الأول صغير

    • يكرر نصا عددا من المرات، طرفا إلى طرف.

      مثال: 'ha' ثلاث مرات -> 'hahaha'

      Parameters

      Returns string

      النص المكرر

      const laugh = bitbybit.text.repeat({ text: "ha", count: 3 });
      
    • يعكس ترتيب الأحرف.

      مثال: 'hello' -> 'olleh'

      Parameters

      Returns string

      النص المعكوس

    • يوصل عدة نصوص في نص واحد بلا شيء بينها.

      مثال: ['hello', ' ', 'world'] -> 'hello world'

      Parameters

      Returns string

      النص الموصول

      const sentence = bitbybit.text.concat({ texts: ["hello", " ", "world"] });
      

    vector

    • يرسم حرفا واحدا كمسارات خطوط بخط ضربات بسيط.

      تقع المسارات مسطحة على مستوى XZ، محجّمة بحيث يكون ارتفاع الحرف height، وتعود مع عرض الحرف وارتفاعه. الحرف غير المعروف يُرسم كعلامة استفهام. مثال: 'A' بارتفاع 10 -> ضربات الحرف A، بارتفاع 10 وحدات

      Parameters

      • inputs: VectorCharDto

        الحرف وارتفاعه وإزاحاته

      Returns VectorCharData

      عرض الحرف وارتفاعه ومسارات ضرباته كقوائم من النقاط

      const letter = bitbybit.text.vectorChar({ char: "A", height: 10, xOffset: 0, yOffset: 0, extrudeOffset: 0 });
      
    • يرسم نصا، بفواصل أسطر، كمسارات خطوط بخط ضربات بسيط.

      يعود كل سطر كأحرفه مع مساراتها، موضوعة مسطحة على مستوى XZ بالارتفاع والتباعد والمحاذاة المعطاة؛ centerOnOrigin يضع منتصف الكتلة عند نقطة الأصل. مثال: 'Hello' بارتفاع 10 -> خمسة أحرف مع ضرباتها

      Parameters

      Returns VectorTextData[]

      مدخل واحد لكل سطر، كل منها بأحرفه ومسارات ضرباتها

      const lines = bitbybit.text.vectorText({
      text: "Hello\nWorld",
      height: 10,
      align: Bit.Inputs.Base.horizontalAlignEnum.center,
      centerOnOrigin: true,
      });