דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. רג'קס להסרת גרשיים מטקסט מלבד ר"ת

רג'קס להסרת גרשיים מטקסט מלבד ר"ת

מתוזמן נעוץ נעול הועבר תכנות
6 פוסטים 4 כותבים 415 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • אבייא מנותק
    אבייא מנותק
    אביי
    כתב ב נערך לאחרונה על ידי
    #1

    אני רוצה להסיר גרשיים (") מטקסט מסויים, אבל רק כשהגרשיים בודדות או נמצאות בתחילת או בסוף מילה, אבל גרשיים של ר"ת, באמצע מילה, אני רוצה להשאיר

    ניסיתי,

    const text = '"חבר" חב"ר "שלום"';
    
    const removeGershiimAll = text.replace(/"|>|</g, '');
    
    const removeGershiim = text.replace(/\b"|"|\b/g, '');
    

    כמובן שהראשון מסיר את הכל, אבל הבעיה שגם השני..

    אני בעצם רוצה שהתוצאה של removeGershiim תהיה חבר חב"ר שלום

    ניתן ליצור עימי קשר 8140hp+t@gmail.com | קטלוג מוצרים
    הלינקיה שלי https://abaye.co/link.html

    צדיק תמיםצ pcinfogmachP 3 תגובות תגובה אחרונה
    0
    • צדיק תמיםצ מנותק
      צדיק תמיםצ מנותק
      צדיק תמים
      השיב לאביי ב נערך לאחרונה על ידי
      #2

      @אביי
      א. השני מכיל |"| שזה אומר "או מירכאות" (בלי שום החרגה), ב. אתה משתמש ב\b שלא עובד על אותיות בעברית אלא רק על ASCII

      Don’t comment bad code — rewrite it." — Brian W. Kernighan and P. J. Plaugher"
      טיפים

      תגובה 1 תגובה אחרונה
      5
      • צדיק תמיםצ מנותק
        צדיק תמיםצ מנותק
        צדיק תמים
        השיב לאביי ב נערך לאחרונה על ידי צדיק תמים
        #3

        @אביי

        /(?<=[א-ת])"(?![א-ת])|(?<![א-ת])"(?=[א-ת])|(?<=\s)"(?=\s)/gs
        

        הדגמה

        הביטוי הזה מחפש:

        • יש לִפְנֵי (positive lookbehind) אות בעברית, מירכאות, אין אַחֲרֵי (negative lookahead) אות בעברית

        או

        • אין לִפְנֵי (negative lookbehind) אות בעברית, מירכאות, יש אַחֲרֵי (positive lookahead) אות בעברית

        או

        • יש לִפְנֵי (positive lookbehind) רווח, מירכאות, יש אַחֲרֵי (positive lookahead) רווח

        מראי מקומות:
        https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Regular_expressions/Lookbehind_assertion
        https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Regular_expressions/Lookahead_assertion

        Don’t comment bad code — rewrite it." — Brian W. Kernighan and P. J. Plaugher"
        טיפים

        תגובה 1 תגובה אחרונה
        6
        • pcinfogmachP מנותק
          pcinfogmachP מנותק
          pcinfogmach
          השיב לאביי ב נערך לאחרונה על ידי pcinfogmach
          #4

          אינני בקי ברגקס של JS
          אבל ב-C# הייתי עושה כך:

          ^"|"$|" | "
          

          ההחלפה קצת יותר מורכבת כי אתה צריך להיזהר לא להחליף את הרווח. ולכן ייתכן שה-lookahead וה-lookbehind עדיף במקרה הזה כמו שצדיק תמים כתב
          https://regex101.com/r/CajTc0/1

          גמ"ח מידע מחשבים ואופיס

          תגובה 1 תגובה אחרונה
          2
          • dovidD מחובר
            dovidD מחובר
            dovid ניהול
            כתב ב נערך לאחרונה על ידי dovid
            #5

            כולם אמרו פה דברים נכונים, אבל אפשר גם ככה:

            text.replace(/(?:(\s|^)"|"(\s|$))/g, '$1$2');
            

            או:

            text.replace(/((\s|^)"|"(\s|$))/g, '$2$3');
            

            כלומר כמו ש@pcinfogmach רצה אבל עם לכידה של הרווח אם ישנו (משני הקבוצות האפשריות) והשארתו במחרוזת המוחלפת.

            מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

            בכל נושא אפשר ליצור קשר dovid@tchumim.com

            תגובה 1 תגובה אחרונה
            2
            • dovidD מחובר
              dovidD מחובר
              dovid ניהול
              כתב ב נערך לאחרונה על ידי
              #6

              מצרף את תשובתו של GPT שהולכת בדרכו של @צדיק-תמים:

              text.replace(/(?<=\s|^)\"|\"(?=\s|$)/g, '');
              

              מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

              בכל נושא אפשר ליצור קשר dovid@tchumim.com

              תגובה 1 תגובה אחרונה
              1

              בא תתחבר לדף היומי!
              • התחברות

              • אין לך חשבון עדיין? הרשמה

              • התחברו או הירשמו כדי לחפש.
              • פוסט ראשון
                פוסט אחרון
              0
              • דף הבית
              • קטגוריות
              • פוסטים אחרונים
              • משתמשים
              • חיפוש
              • חוקי הפורום