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

การเปรียบเทียบสตริงเป็นการกระทำของการเปรียบเทียบสตริงซึ่งส่งผลให้บูลีนหรือจำนวนเต็มระบุ "ระยะทาง" ระหว่างสตริง

9
ความแตกต่างระหว่าง InvariantCulture และการเปรียบเทียบสตริงสามัญ
เมื่อเปรียบเทียบสองสายใน c # เพื่อความเท่าเทียมกันความแตกต่างระหว่าง InvariantCulture และการเปรียบเทียบลำดับคืออะไร?

30
ตรวจสอบว่าสตริงไม่เป็นโมฆะและไม่ว่างเปล่า
ฉันจะตรวจสอบได้อย่างไรว่าสตริงไม่เป็นโมฆะและไม่ว่างเปล่า? public void doStuff(String str) { if (str != null && str != "**here I want to check the 'str' is empty or not**") { /* handle empty string */ } /* ... */ }

4
การตรวจสอบว่าสตริงเริ่มต้นด้วย XXXX หรือไม่
ฉันต้องการทราบวิธีตรวจสอบว่าสตริงเริ่มต้นด้วย "hello" ใน Python หรือไม่ ใน Bash ฉันมักจะทำ: if [[ "$string" =~ ^hello ]]; then do something here fi ฉันจะประสบความสำเร็จใน Python ได้อย่างไร

11
รับการจับคู่สตริงที่ใกล้เคียงที่สุด
ฉันต้องการวิธีเปรียบเทียบหลาย ๆ สายกับสตริงทดสอบและคืนค่าสตริงที่มีความใกล้เคียงกับมันมากขึ้น: TEST STRING: THE BROWN FOX JUMPED OVER THE RED COW CHOICE A : THE RED COW JUMPED OVER THE GREEN CHICKEN CHOICE B : THE RED COW JUMPED OVER THE RED COW CHOICE C : THE RED FOX JUMPED OVER THE BROWN COW (ถ้าฉันทำอย่างถูกต้อง) สตริงที่ใกล้เคียงกับ "TEST STRING" …

7
สตริงแบบสอบถาม MySQL มี
ฉันพยายามหาวิธีที่ฉันสามารถสร้างแบบสอบถามด้วย MySQL ที่ตรวจสอบว่าค่า (สตริง$haystack) ในคอลัมน์หนึ่งมีข้อมูลบางอย่าง (สตริง$needle) เช่นนี้หรือไม่: mysql_query(" SELECT * FROM `table` WHERE `column`.contains('{$needle}') "); ใน PHP เรียกใช้ฟังก์ชันsubstr($haystack, $needle)ดังนั้นอาจจะ: WHERE substr(`column`, '{$needle}')=1

11
ฉันจะทำการเปรียบเทียบสตริงตัวพิมพ์เล็ก - ใหญ่ของ SQL ใน MySQL ได้อย่างไร
ฉันมีฟังก์ชั่นที่คืนค่าตัวอักษรห้าตัวพร้อมตัวพิมพ์เล็ก ถ้าฉันทำแบบสอบถามในสายนี้มันจะคืนค่าโดยไม่คำนึงถึงกรณี ฉันจะทำให้สตริงเคียวรี MySQL เป็นตัวพิมพ์เล็กหรือใหญ่ได้อย่างไร?

11
การค้นหาแบบคำนึงถึงขนาดตัวพิมพ์
ฉันพยายามค้นหาตัวพิมพ์เล็กและใหญ่ด้วยสตริงสองตัวใน JavaScript ที่ใช้งานได้ โดยปกติมันจะเป็นเช่นนี้: var string="Stackoverflow is the BEST"; var result= string.search(/best/i); alert(result); /iธงจะเป็นกรณีตาย แต่ฉันต้องการค้นหาสตริงที่สอง หากไม่มีการตั้งค่าสถานะมันสมบูรณ์แบบ: var string="Stackoverflow is the BEST"; var searchstring="best"; var result= string.search(searchstring); alert(result); ถ้าฉันเพิ่มการ/iตั้งค่าสถานะไปที่ตัวอย่างข้างต้นมันจะค้นหา searchstring และไม่ใช่สิ่งที่อยู่ในตัวแปร "searchstring" (ตัวอย่างถัดไปไม่ทำงาน): var string="Stackoverflow is the BEST"; var searchstring="best"; var result= string.search(/searchstring/i); alert(result); ฉันจะบรรลุสิ่งนี้ได้อย่างไร

9
ฉันจะเปรียบเทียบหมายเลขรุ่นใน Python ได้อย่างไร
sys.pathฉันกำลังเดินไดเรกทอรีที่มีไข่เพื่อเพิ่มไข่เหล่านั้น หากมี .egg เดียวกันสองรุ่นในไดเรกทอรีฉันต้องการเพิ่มเฉพาะเวอร์ชันล่าสุด ฉันมีการแสดงออกปกติr"^(?P<eggName>\w+)-(?P<eggVersion>[\d\.]+)-.+\.egg$เพื่อแยกชื่อและรุ่นจากชื่อไฟล์ ปัญหาคือการเปรียบเทียบหมายเลขรุ่นซึ่งเป็นสตริงเช่น2.3.1ปัญหาคือการเปรียบเทียบจำนวนรุ่นซึ่งเป็นสายเช่น เนื่องจากฉันเปรียบเทียบสตริงมี 2 ประเภทที่สูงกว่า 10 แต่ก็ไม่ถูกต้องสำหรับเวอร์ชัน >>> "2.3.1" > "10.1.1" True ฉันสามารถแยกวิเคราะห์ชี้ขาดไปยัง int ฯลฯ และในที่สุดฉันก็จะได้รับการแก้ปัญหา แต่นี้เป็นงูหลามไม่ Java มีวิธีที่สวยงามเพื่อเปรียบเทียบสตริงรุ่น?

9
ฉันจะทำการเปรียบเทียบสตริงที่ไม่สนใจขนาดตัวพิมพ์ได้อย่างไร?
ฉันจะทำให้บรรทัดด้านล่างเล็กตายได้อย่างไร drUser["Enrolled"] = (enrolledUsers.FindIndex(x => x.Username == (string)drUser["Username"]) != -1); ฉันได้รับคำแนะนำก่อนหน้านี้ในวันนี้ซึ่งแนะนำให้ใช้: x.Username.Equals((string)drUser["Username"], StringComparison.OrdinalIgnoreCase))); ปัญหาคือฉันไม่สามารถทำงานนี้ได้ฉันลองบรรทัดด้านล่างคอมไพล์นี้ แต่คืนผลลัพธ์ที่ผิดมันคืนค่าผู้ใช้ที่ลงทะเบียนเป็นผู้ใช้ที่ไม่ได้ลงทะเบียนและไม่ได้ลงทะเบียนเมื่อลงทะเบียนแล้ว drUser["Enrolled"] = (enrolledUsers.FindIndex(x => x.Username.Equals((string)drUser["Username"], StringComparison.OrdinalIgnoreCase))); ทุกคนสามารถชี้ให้เห็นปัญหาได้หรือไม่

6
ฉันจะเปรียบเทียบสองสตริงใน Perl ได้อย่างไร
ฉันจะเปรียบเทียบสองสตริงใน Perl ได้อย่างไร ฉันกำลังเรียนรู้ Perl ฉันมีคำถามพื้นฐานนี้ค้นหาได้ที่นี่ใน StackOverflow และไม่พบคำตอบที่ดีดังนั้นฉันคิดว่าฉันจะถาม


6
การเปรียบเทียบสตริงใน bash [[: ไม่พบ
ฉันพยายามเปรียบเทียบสตริงในทุบตี ฉันได้พบคำตอบเกี่ยวกับวิธีการที่จะทำมันในStackOverflow ในสคริปต์ที่ฉันพยายามฉันใช้รหัสที่ส่งโดย Adam ในคำถามที่กล่าวถึง: #!/bin/bash string='My string'; if [[ "$string" == *My* ]] then echo "It's there!"; fi needle='y s' if [[ "$string" == *"$needle"* ]]; then echo "haystack '$string' contains needle '$needle'" fi ฉันได้ลองวิธีการจากubuntuforumsที่คุณสามารถหาได้ในโพสต์ที่ 2 if [[ $var =~ regexp ]]; then #do something fi ในทั้งสองกรณีฉันได้รับข้อผิดพลาด: [[: not …

11
การเปรียบเทียบสตริงความคล้ายคลึงใน Java
ฉันต้องการเปรียบเทียบสตริงหลาย ๆ สายและค้นหาสตริงที่คล้ายกันมากที่สุด ฉันสงสัยว่ามีไลบรารีวิธีการหรือแนวทางปฏิบัติที่ดีที่สุดที่จะส่งคืนฉันว่าสตริงใดคล้ายคลึงกับสตริงอื่นมากกว่า ตัวอย่างเช่น: "สุนัขจิ้งจอกกระโดดเร็ว" -> "สุนัขจิ้งจอกกระโดด" "จิ้งจอกด่วนกระโดด" -> "สุนัขจิ้งจอก" การเปรียบเทียบนี้จะแสดงให้เห็นว่าครั้งแรกคล้ายกันมากกว่าครั้งที่สอง ฉันเดาว่าฉันต้องการวิธีการบางอย่างเช่น: double similarityIndex(String s1, String s2) มีสิ่งนี้อยู่ที่ไหนสักแห่ง? แก้ไข: ทำไมฉันถึงทำสิ่งนี้ ฉันกำลังเขียนสคริปต์ที่เปรียบเทียบผลลัพธ์ของไฟล์ MS Project กับผลลัพธ์ของระบบเดิมที่จัดการกับงาน เนื่องจากระบบเดิมมีความกว้างของฟิลด์ที่ จำกัด มากเมื่อเพิ่มค่าคำอธิบายจะถูกย่อ ฉันต้องการวิธีกึ่งอัตโนมัติเพื่อค้นหารายการจาก MS Project ที่คล้ายกับรายการในระบบเพื่อที่ฉันจะได้รับคีย์ที่สร้างขึ้น มีข้อเสียเนื่องจากยังต้องตรวจสอบด้วยตนเอง แต่จะช่วยประหยัดงานได้มาก

17
การเปรียบเทียบหมายเลขเวอร์ชันใน Python
ฉันต้องการที่จะเขียนcmpฟังก์ชั่นเหมือนที่เปรียบเทียบตัวเลขสองรุ่นและผลตอบแทน-1, 0หรือ1ขึ้นอยู่กับ valuses เทียบของพวกเขา กลับมา-1หากเวอร์ชัน A เก่ากว่าเวอร์ชัน B กลับมา0ถ้าเวอร์ชัน A และ B เทียบเท่ากัน กลับมา1หากเวอร์ชัน A ใหม่กว่าเวอร์ชัน B แต่ละส่วนย่อยควรตีความเป็นตัวเลขดังนั้น 1.10> 1.1 เอาต์พุตฟังก์ชันที่ต้องการคือ mycmp('1.0', '1') == 0 mycmp('1.0.0', '1') == 0 mycmp('1', '1.0.0.1') == -1 mycmp('12.10', '11.0.0.0.0') == 1 ... และนี่คือการนำไปใช้งานของฉันเปิดให้ปรับปรุง: def mycmp(version1, version2): parts1 = [int(x) for x in version1.split('.')] parts2 …

10
จะเปรียบเทียบอักขระ Unicode ที่“ เหมือนกัน” ได้อย่างไร?
ฉันตกอยู่ในปัญหาที่น่าประหลาดใจ ฉันโหลดไฟล์ข้อความในแอปพลิเคชันของฉันและฉันมีตรรกะบางอย่างที่เปรียบเทียบค่าที่มี µ และฉันก็ตระหนักว่าแม้ว่าข้อความจะเหมือนกัน แต่ค่าเปรียบเทียบจะเป็นเท็จ Console.WriteLine("μ".Equals("µ")); // returns false Console.WriteLine("µ".Equals("µ")); // return true ในบรรทัดต่อมาจะมีการคัดลอกอักขระ µ มาวาง อย่างไรก็ตามสิ่งเหล่านี้อาจไม่ใช่ตัวละครเดียวที่เป็นเช่นนี้ มีวิธีใดใน C # ในการเปรียบเทียบตัวอักษรที่มีลักษณะเหมือนกัน แต่แตกต่างกันจริงหรือไม่?

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