คำถามติดแท็ก string-matching

3
วิธีการตรวจสอบว่าสตริงมีสตริงย่อยใน JavaScript หรือไม่
คำตอบของคำถามนี้เป็นความพยายามของชุมชน แก้ไขคำตอบที่มีอยู่เพื่อปรับปรุงโพสต์นี้ ขณะนี้ไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ ฉันมักจะคาดหวังString.contains()วิธีการ แต่ดูเหมือนจะไม่เป็นอย่างนั้น วิธีตรวจสอบที่เหมาะสมคืออะไร

30
ฉันจะตรวจสอบว่าสตริงมีคำเฉพาะได้อย่างไร
คำตอบของคำถามนี้เป็นความพยายามของชุมชน แก้ไขคำตอบที่มีอยู่เพื่อปรับปรุงโพสต์นี้ ขณะนี้ไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ พิจารณา: $a = 'How are you?'; if ($a contains 'are') echo 'true'; สมมติว่าฉันมีรหัสข้างต้นเป็นวิธีที่ถูกต้องในการเขียนคำสั่งif ($a contains 'are')คืออะไร?

6
ตรวจสอบว่าสตริงตรงกับรูปแบบ
ฉันจะตรวจสอบว่าสตริงตรงกับรูปแบบนี้ได้อย่างไร ตัวอักษรตัวพิมพ์ใหญ่, ตัวเลข (s), ตัวอักษรตัวพิมพ์ใหญ่, ตัวเลข (s) ... ตัวอย่างสิ่งเหล่านี้จะตรงกับ: A1B2 B10L1 C1N200J1 สิ่งเหล่านี้จะไม่ ('^' ชี้ไปที่ปัญหา) a1B2 ^ A10B ^ AB400 ^


22
อัลกอริทึมการจัดอันดับความคล้ายคลึงกันที่ดีขึ้นสำหรับสตริงความยาวตัวแปร
ฉันกำลังมองหาอัลกอริทึมความคล้ายคลึงกันของสตริงที่ให้ผลลัพธ์ที่ดีกว่าบนสตริงความยาวผันแปรได้ดีกว่าที่แนะนำ (ระยะทาง levenshtein, soundex, ฯลฯ ) ตัวอย่างเช่น, รับสตริง A: "Robert", จากนั้นสตริง B: "Amy Robertson" จะเป็นการแข่งขันที่ดีกว่า สตริง C: "Richard" นอกจากนี้ควรอัลกอริทึมนี้ควรเป็นผู้ไม่เชื่อเรื่องภาษา (ยังทำงานในภาษาอื่นที่ไม่ใช่ภาษาอังกฤษ)

2
การเปรียบเทียบสตริงฟัซซีประสิทธิภาพสูงใน Python ให้ใช้ Levenshtein หรือ difflib [ปิด]
ปิด . คำถามนี้เป็นคำถามความคิดเห็นตาม ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบได้ด้วยข้อเท็จจริงและการอ้างอิงโดยแก้ไขโพสต์นี้ ปิดให้บริการใน5 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ฉันกำลังทำการฟื้นฟูข้อความทางคลินิก (ตรวจการสะกด) ซึ่งฉันตรวจสอบแต่ละคำเทียบกับพจนานุกรมทางการแพทย์ 900,000 คำ ฉันกังวลมากขึ้นเกี่ยวกับความซับซ้อนของเวลา / ประสิทธิภาพ ฉันต้องการเปรียบเทียบสตริงที่คลุมเครือ แต่ฉันไม่แน่ใจว่าควรใช้ไลบรารีใด ตัวเลือกที่ 1: import Levenshtein Levenshtein.ratio('hello world', 'hello') Result: 0.625 ทางเลือกที่ 2: import difflib difflib.SequenceMatcher(None, 'hello world', 'hello').ratio() Result: 0.625 ในตัวอย่างนี้ทั้งสองให้คำตอบเดียวกัน คุณคิดว่าทั้งคู่ทำงานเหมือนกันในกรณีนี้หรือไม่?

3
ตรวจสอบว่าสตริงมีสตริงย่อยหรือไม่
ฉันจะตรวจสอบได้อย่างไรว่าสตริงที่ระบุมีสตริงย่อยโดยใช้ Perl หรือไม่ โดยเฉพาะอย่างยิ่งฉันต้องการดูว่าs1.domain.comมีอยู่ในตัวแปรสตริงที่กำหนดหรือไม่


11
Javascript ไม่ชัดเจนการค้นหาที่เหมาะสม
ฉันกำลังมองหาไลบรารี JavaScript การค้นหาที่คลุมเครือเพื่อกรองอาร์เรย์ ฉันได้ลองใช้fuzzyset.jsและfuse.jsแล้ว แต่ผลลัพธ์แย่มาก (มีการสาธิตที่คุณสามารถลองได้ในหน้าที่เชื่อมโยง) หลังจากอ่านข้อมูลเกี่ยวกับระยะทาง Levenshtein แล้วมันทำให้ฉันรู้สึกแย่เพราะประมาณว่าผู้ใช้กำลังมองหาอะไรเมื่อพวกเขาพิมพ์ สำหรับผู้ที่ไม่ทราบว่าระบบจะคำนวณว่าหลายแทรก , ลบและแทนมีความจำเป็นที่จะทำให้สองสายตรง ข้อบกพร่องที่เห็นได้ชัดอย่างหนึ่งซึ่งได้รับการแก้ไขในแบบจำลอง Levenshtein-Demerau คือทั้งblubและboobถือว่าใกล้เคียงกับbulb (แต่ละอันต้องใช้การทดแทนสองครั้ง) มันเป็นที่ชัดเจน แต่ที่หลอดไฟมีมากขึ้นคล้ายกับร้องไห้สะอึกสะอื้นกว่าคนโง่และเป็นรูปแบบที่ผมกล่าวถึงเพียงตระหนักดีว่าโดยให้transpositions ฉันต้องการใช้สิ่งนี้ในบริบทของการเติมข้อความดังนั้นหากฉันมีอาร์เรย์['international', 'splint', 'tinder']และข้อความค้นหาของฉันเป็นintฉันคิดว่านานาชาติควรมีอันดับสูงกว่าเฝือกแม้ว่าในอดีตจะมีคะแนน (สูงกว่า = แย่กว่า) ถึง 10 เทียบกับของหลัง 3. สิ่งที่ฉันกำลังมองหา (และจะสร้างขึ้นหากไม่มี) คือไลบรารีที่ทำสิ่งต่อไปนี้: ให้น้ำหนักการปรับแต่งข้อความต่างๆ การชั่งน้ำหนักแต่ละการจัดการจะแตกต่างกันไปขึ้นอยู่กับตำแหน่งที่ปรากฏในคำหนึ่ง (การปรับเปลี่ยนในช่วงแรกมีค่าใช้จ่ายสูงกว่าการจัดการในช่วงปลาย) ส่งคืนรายการผลลัพธ์ที่เรียงตามความเกี่ยวข้อง มีใครเจออะไรแบบนี้บ้าง? ฉันตระหนักดีว่า StackOverflow ไม่ใช่สถานที่ที่จะขอคำแนะนำซอฟต์แวร์ แต่โดยนัย (ไม่ใช่อีกต่อไป!) ในด้านบนคือ: ฉันคิดเกี่ยวกับวิธีนี้ถูกต้องหรือไม่? แก้ไข ฉันพบกระดาษดีๆ (pdf)ในหัวข้อนี้ หมายเหตุและข้อความที่ตัดตอนมาบางส่วน: ฟังก์ชั่นการแก้ไขระยะห่างจะกำหนดต้นทุนที่ค่อนข้างต่ำให้กับลำดับการแทรกหรือการลบ ฟังก์ชันระยะทาง Monger-Elkan …

15
Regular Expression Match เพื่อทดสอบปีที่ถูกต้อง
ด้วยค่าที่ฉันต้องการตรวจสอบเพื่อตรวจสอบว่าเป็นปีที่ถูกต้องหรือไม่ เกณฑ์ของฉันง่ายมากโดยที่ค่าควรเป็นจำนวนเต็มพร้อม4อักขระ ฉันรู้ว่านี้ไม่ได้เป็นทางออกที่ดีที่สุดเท่าที่มันจะไม่อนุญาตให้เมื่อหลายปีก่อนและจะช่วยให้ปีเช่น1000 5000เกณฑ์นี้เพียงพอสำหรับสถานการณ์ปัจจุบันของฉัน สิ่งที่ฉันคิดขึ้นมาคือ \d{4}$ แม้ว่าจะใช้งานได้ แต่ก็อนุญาตให้ใช้ค่าลบได้ ฉันจะแน่ใจได้อย่างไรว่าอนุญาตเฉพาะจำนวนเต็มบวกเท่านั้น
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.