จะลบบางส่วนของสตริงก่อน ":" ในจาวาสคริปต์ได้อย่างไร


111

ถ้าฉันมีสตริงAbc: Lorem ipsum sit ametฉันจะใช้ JavaScript / jQuery เพื่อลบสตริงก่อนที่จะ:รวมไฟล์:. Lorem ipsum sit ametยกตัวอย่างเช่นสตริงดังกล่าวจะกลายเป็น:


2
ฉันเพิ่มแท็ก javascript เนื่องจากอยู่ในคำถามและเกี่ยวข้องกับคำถามมากกว่า jquery
Spudley

คำตอบ:


290

ไม่จำเป็นต้อง jQuery ที่นี่ JavaScript ปกติจะทำ:

var str = "Abc: Lorem ipsum sit amet";
str = str.substring(str.indexOf(":") + 1);

หรือรุ่น.split()และ.pop():

var str = "Abc: Lorem ipsum sit amet";
str = str.split(":").pop();

หรือรุ่น regex (มีหลายรูปแบบ):

var str = "Abc: Lorem ipsum sit amet";
str = /:(.+)/.exec(str)[1];

1
คำตอบที่ดีฉันชอบวิธีแก้ปัญหาที่แตกต่างกัน
Aardvark

22
โปรดสังเกตว่ามีมากกว่าหนึ่ง:สตริงในสตริงตัวแปรที่สองจะส่งคืนสตริงที่ตามหลังตัวสุดท้ายแทนที่จะเป็นตัวแรกเหมือนในสตริงอื่น ๆ โชคไม่ดีที่ไม่มีตัวเลือกแยกเฉพาะ n-times ในsplit()เมธอดของ JS ซึ่งจะช่วยให้คุณทำ Python-style .split(':', 1)[1]ได้ (มีเป็นตัวเลือกnumberอาร์กิวเมนต์ แต่ก็ไม่ได้ทำในสิ่งที่บุคคลใดบุคคลที่เหมาะสมจะคาดหวัง.)
bobince

@bobince - คุณพูดถูกฉันตั้งข้อสันนิษฐานเล็กน้อยที่นี่ว่าเขามีlabel: somethingรูปแบบที่สอดคล้องกันถ้าไม่ใช่อย่างนั้นฉันจะเลือกตัวเลือกแรก
Nick Craver

2
คุณสามารถแยกและเข้าร่วมเพื่อวางองค์ประกอบบางอย่างตามตัวคั่น "Abc:Lorem_ipsum_sit_amet".split(':').slice(1).join('.');
Amritesh Anand
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.