นิพจน์ทั่วไป / _ / g หมายถึงอะไร?


96

JavaScript:

.replace(/_/g," ");

ฉันมีรหัสนี้ แต่จำไม่ได้ว่าทำไมหรือทำอะไร! หนึ่งในผู้เชี่ยวชาญด้านการแสดงออกของคุณสามารถช่วยได้หรือไม่?

ฉันรู้ว่าสิ่งนี้อาจดูธรรมดา แต่การแสดงออกปกติไม่ใช่ถ้วยชาของฉันและการใช้ googling /gก็ไม่ได้ช่วยอะไรมาก


1
เพียงแค่เพิ่ม .. คุณสามารถใช้ / / gi เพื่อทำให้ไม่คำนึงถึงขนาดตัวพิมพ์! บางครั้งคุณต้องการเปลี่ยนคำในสตริงหรือย่อหน้า แต่เกิดขึ้นว่าบางคำอยู่ต้นประโยคดังนั้นในกรณีส่วนใหญ่จึงเป็นตัวพิมพ์ใหญ่หากคุณใช้เฉพาะ g มันจะแทนที่ only let พูดว่า "นางฟ้า" แล้วลืมนึกถึง "เทวดา" หรือในทางกลับกันก็ขึ้นอยู่กับว่าคุณใส่อะไรเป็นข้อโต้แย้ง ps: ใช้ได้กับวิธีการแทนที่ () ใน JavaScript
A.McLoof

คำตอบ:


155

regex ตรงกับ_อักขระ

gหมายถึงทั่วโลกและเป็นสาเหตุที่ทำให้replaceการเรียกร้องให้เปลี่ยนการแข่งขันทั้งหมดไม่เพียง แต่เป็นคนแรก


26

เหมือนที่ใคร ๆ พูดกันมันแทนที่ขีดล่างทั้งหมดด้วยช่องว่าง ดังนั้น"Hello_there."จะกลายเป็น"Hello there."

แต่พร้อมกับคำตอบฉันต้องการแนะนำบางอย่างให้คุณ ใช้ความคิดเห็น

ในรหัสของคุณพูดว่า:

// Replaces all underscores so that blah blah blah blah blah..
var hello = "Hello_there."
    .replace(/_/g, ' ');

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.