เครื่องมือข้อความและชีวิตประจำวัน · ชุดเครื่องมือข้อความ
ตัด ขจัดข้อมูลซ้ำ เรียงลำดับ: ทำไมลำดับขั้นตอนการล้างข้อความจึงมีความสำคัญ
· เหตุใดจึงสำคัญ
การล้างข้อความ เส้นที่ซ้ำกัน การเรียงลำดับ
เส้นสองบรรทัดที่แตกต่างกันเฉพาะช่องว่างต่อท้ายจะไม่ซ้ำกันจนกว่าคุณจะตัดออก โพสต์นี้จะอธิบายว่าทำไมการตัดแต่ง → ลบที่ว่างเปล่า → ยกเลิกการซ้ำกัน → การเรียงลำดับจึงเป็นลำดับที่ถูกต้อง และวิธีการตรวจสอบแต่ละขั้นตอนด้วยการนับ
รายการที่ซ้ำกันซึ่งยังมีรายการที่ซ้ำกัน - วิธีที่ช่องว่างต่อท้ายที่มองไม่เห็นสามารถเอาชนะรายการที่ซ้ำกันไร้เดียงสาได้อย่างไร
เลขานุการสมาชิกจะรวมการส่งออกการลงทะเบียนสามรายการเข้าด้วยกัน และยังคงเห็นสองรายการสำหรับที่อยู่เดียวกันหลังจากเลือกลบรายการที่ซ้ำกัน บรรทัดหนึ่งจะสิ้นสุดทันทีหลังที่อยู่ ในขณะที่อีกบรรทัดหนึ่งจะมีช่องว่างต่อท้ายที่คัดลอกมาจากเซลล์สเปรดชีต พวกมันดูเหมือนกันบนหน้าจอ แต่การเปรียบเทียบได้รับสองสายที่แตกต่างกัน ดังนั้นทั้งคู่จึงรอดมาได้
การเรียกใช้ปุ่มล้างข้อมูลเดียวกันในลำดับอื่นสามารถซ่อนได้แทนที่จะแก้ไขความไม่ตรงกันนั้น การเรียงลำดับก่อนอาจวางรายการที่ซ้ำกันใกล้เคียงกันเพื่อตรวจดูด้วยภาพ แต่ไม่ได้ทำให้เท่ากัน ลำดับที่เชื่อถือได้คือการทำให้ขอบเส้นเป็นมาตรฐาน ละทิ้งบรรทัดที่ไม่มีเนื้อหา ลบการซ้ำที่แน่นอน และเรียงลำดับหลังจากตัดสินใจว่าลำดับแหล่งที่มานั้นไม่มีความหมายเท่านั้น
ขั้นตอนที่หนึ่ง ตัดแต่งเส้น — ลบช่องว่างนำหน้าและต่อท้าย เพื่อให้รายการที่เหมือนกันกลายเป็นรายการเดียวกัน
เริ่มต้นด้วยการตัดเส้น การใช้งานจะแยกข้อความที่ CRLF, LF หรือตัวแบ่งบรรทัด CR เดี่ยว ใช้ JavaScript ตัดแต่งกับแต่ละบรรทัด และรวมบรรทัดอีกครั้งด้วย LF ช่องว่างนำหน้าและต่อท้ายจะหายไปจากทุกแถว ดังนั้น ` member@example.test ` และ `member@example.test` จะกลายเป็นข้อความเดียวกันทุกประการก่อนที่การตรวจจับซ้ำจะเริ่มขึ้น
การตัดขอบจะแคบกว่าการซ่อมแซมข้อความทั่วไปโดยเจตนา จะไม่เปลี่ยนการเว้นวรรคภายในชื่อ แก้ไขการใช้อักษรตัวพิมพ์ใหญ่ หรือตัดสินว่าที่อยู่เขียนที่แตกต่างกันสองรายการเป็นของคนๆ เดียว ข้อจำกัดดังกล่าวทำให้สามารถตรวจสอบการส่งผ่านครั้งแรกได้ โดยมีเพียงช่องว่างที่ขอบบรรทัดเท่านั้นที่เปลี่ยนแปลง ในขณะที่อักขระที่มองเห็นทุกตัวในรายการยังคงพร้อมให้เลขาตรวจสอบได้
ขั้นตอนที่สอง ลบบรรทัดว่าง — เหตุใดบรรทัดว่างจึงควรไปก่อนการเรียงลำดับ ไม่ใช่ตามหลัง
จากนั้นเลือก ลบบรรทัดว่าง เส้นจะถือว่าว่างเปล่าเมื่อตัดแต่งจะทำให้เกิดสตริงว่าง ดังนั้นแถวที่มีช่องว่างหรือแท็บจะหายไปพร้อมกับแถวว่างที่เห็นได้ชัดเจน การทำเช่นนี้ก่อนการเรียงลำดับจะป้องกันไม่ให้รายการว่างถูกย้ายไปยังด้านหนึ่งของบัญชีรายชื่อ และเข้าใจผิดว่าเป็นเอาต์พุตที่ไม่สามารถอธิบายได้จากการเรียงลำดับ
การผ่านครั้งที่สองนี้ยังช่วยชี้แจงการนับในภายหลังด้วย ตัวคั่นว่างระหว่างสามรายการที่นำเข้ามีประโยชน์ในขณะที่รวบรวมแหล่งที่มา แต่ไม่ใช่เรกคอร์ดสมาชิก เมื่อรายการถูกรวมเข้าด้วยกันและขอบเขตของรายการไม่สำคัญอีกต่อไป การลบตัวคั่นเหล่านั้นออกจะทำให้แต่ละบรรทัดที่เหลือสอดคล้องกับรายการบัญชีรายชื่อของผู้สมัครหนึ่งรายการที่สามารถเปรียบเทียบได้
ขั้นตอนที่สาม ลบรายการที่ซ้ำกัน รายการแรกจะยังคงอยู่ สำเนาต่อมาจะไป และลำดับของรายการที่เหลือจะไม่เปลี่ยนแปลง
ตอนนี้รัน ลบรายการที่ซ้ำกัน ด้วยค่าเริ่มต้นของปุ่ม การเปรียบเทียบจะคำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่และจะไม่ทำการตัดแต่งอีก ฟังก์ชันเดินจากบนลงล่าง เก็บแต่ละบรรทัดที่เห็น เก็บรายการแรกไว้ และข้ามทุกรายการที่ตรงกันในภายหลัง ลำดับสัมพัทธ์ของบรรทัดที่คงไว้ทั้งหมดจึงยังคงเหมือนเดิมหลังจากการดำเนินการนี้
การเก็บสำเนาชุดแรกจะมีความสำคัญเมื่อลำดับต้นทางมีการตั้งค่าที่ไม่ชัดเจน เช่น การส่งออกการลงทะเบียนหลักก่อนรายการเสริม โดยจะไม่รวมรายละเอียดจากแถวที่แข่งขันกัน และ `Alex@example.test` ยังคงแตกต่างจาก `alex@example.test` ตรวจสอบความแตกต่างเหล่านั้นด้วยตนเอง แทนที่จะสมมติว่าการเปลี่ยนแปลงทุกกรณีเป็นการทำให้ข้อมูลประจำตัวเป็นมาตรฐานที่ไม่เป็นอันตราย
ขั้นตอนที่สี่ เรียงลำดับ — เฉพาะในกรณีที่ลำดับไม่สำคัญ เพื่อให้สแกนผลลัพธ์ได้ง่าย
จัดเรียงหลังจากจัดการรายการที่ซ้ำกันแล้ว และเฉพาะเมื่อการนำเสนอตามตัวอักษรมีค่ามากกว่าคำสั่งนำเข้าเท่านั้น การเรียงลำดับ A-Z จะคัดลอกบรรทัดและเปรียบเทียบกับภาษาของเบราว์เซอร์ เปิดใช้งานการเปรียบเทียบแบบคำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ รายการที่มีตัวเลขจึงสามารถเรียงลำดับตามตัวเลขตามธรรมชาติได้ แทนที่จะใช้ลำดับอักขระต่ออักขระอย่างง่าย
โครงร่างอธิบายว่าการเรียงลำดับเป็นเพียงตัวช่วยในการสแกนอย่างง่ายเท่านั้น แต่การใช้งานมีพฤติกรรมการเปรียบเทียบเฉพาะที่ควรค่าแก่การบันทึก ผลลัพธ์อาจขึ้นอยู่กับภาษาของเบราว์เซอร์ และรูปแบบกรณีที่มีลักษณะเท่ากันอาจคงตำแหน่งที่สัมพันธ์กันขึ้นอยู่กับการใช้งาน หากลำดับรายการบันทึกเวลาที่มาถึง ลำดับความสำคัญ หรือสถานะการลงคะแนน ให้ข้ามการเรียงลำดับและคงลำดับที่กรองข้อมูลออกแล้ว
ขั้นตอนที่สี่ จัดเรียงโดยใช้การเปรียบเทียบแบบคำนึงถึงสถานที่ ไม่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ แต่เฉพาะเมื่อลำดับต้นทางถูกยกเลิกเท่านั้น
ใช้การนับ Lines แบบสดเป็นเช็คที่รันอยู่ ไม่ใช่เป็นข้อพิสูจน์ว่าทุกคนที่เหลือไม่ซ้ำกัน บันทึกการนับหลังการวางครั้งแรก หลังการลบบรรทัดว่าง และหลังการลบซ้ำ โดยปกติการตัดแต่งจะทำให้จำนวนไม่เปลี่ยนแปลง ช่องว่างลดลงตามจำนวนแถวที่ถูกทิ้ง การขจัดข้อมูลซ้ำซ้อนจะลดจำนวนสำเนาที่แน่นอนในภายหลัง
ตัวแบ่งบรรทัดต่อท้ายจะสร้างบรรทัดว่างสุดท้าย เนื่องจากการแยกบรรทัดจะรักษาข้อความไว้หลังจากตัวแบ่งนั้น ซึ่งสามารถทำให้การนับเริ่มต้นดูสูงกว่าที่คาดไว้หนึ่งรายการ จนกระทั่งลบบรรทัดว่างออก เปรียบเทียบแถวบัญชีรายชื่อจริงและหมายเลข เนื่องจากรายการที่แตกต่างกันสองรายการยังสามารถอ้างถึงบุคคลหนึ่งคนได้ และที่อยู่ที่ใช้ร่วมกันที่เหมือนกันหนึ่งรายการสามารถแทนคนสองคนได้
ตรวจสอบจำนวนบรรทัดโดยจำไว้ว่าการขึ้นบรรทัดใหม่จะสร้างบรรทัดสุดท้ายที่ว่างเปล่า
สมมติว่าแหล่งที่มาที่หนึ่งมี `Mina@example.test` แหล่งที่มาที่สองมีที่อยู่เดียวกันตามด้วยช่องว่าง และแหล่งที่มาที่สามทำซ้ำที่อยู่ที่สะอาดด้านล่างสองแถวที่มีเฉพาะช่องว่างเท่านั้น วางทั้งสามบล็อกเข้าด้วยกันแล้วจดจำนวนบรรทัด ตัดก่อนเพื่อให้สำเนาที่เว้นระยะห่างตรงกัน จากนั้นลบบรรทัดว่างออกเพื่อไม่ให้ตัวคั่นนับเป็นตัวเลือกบัญชีรายชื่ออีกต่อไป
เลือกลบรายการที่ซ้ำกันถัดไป แถว Mina ที่สะอาดแถวแรกยังคงอยู่ และสำเนาสองชุดต่อมาจะหายไป อ่านจำนวนที่ลดลงและสแกนรายการใกล้เคียงก่อนที่จะเลือกเรียงลำดับ A-Z การเปลี่ยนแปลงทุกครั้งจะพุชข้อความตัวแก้ไขก่อนหน้าไปยังสแต็กประวัติ ดังนั้น Undo จึงสามารถกู้คืนได้ครั้งละหนึ่งขั้นตอนเมื่อจำนวนลดลงอย่างกะทันหันหรือลำดับแหล่งที่มาพิสูจน์ได้ว่ามีความสำคัญ
สิ่งสำคัญ — ปุ่มของชุดเครื่องมือข้อความเป็นการแปลงครั้งเดียวตามลำดับที่คุณเลือก และลำดับที่แนะนำจะถูกบันทึกไว้ในหน้า
ชุดเครื่องมือข้อความแสดงปุ่มอิสระแทนที่จะเป็นคำสั่งล้างข้อมูลแบบรวม การออกแบบนั้นทำให้ผู้ใช้มีความรับผิดชอบตามลำดับและยังทำให้การเปลี่ยนแปลงแต่ละครั้งสามารถสังเกตได้ แม้ว่าแถบเครื่องมือจะแสดง ลบรายการที่ซ้ำกัน ก่อน ลบบรรทัดว่าง และ ตัดแต่งบรรทัด แต่ขั้นตอนการทำงานที่ปลอดภัยกว่าสำหรับการส่งออกแบบผสมคือ ตัดแต่งบรรทัด ลบบรรทัดว่าง ลบรายการที่ซ้ำกัน จากนั้นจึงเรียงลำดับเพิ่มเติม
ปฏิบัติต่อคำสั่งซื้อดังกล่าวเสมือนเป็นไปป์ไลน์ทำความสะอาดข้อมูลขนาดเล็ก: ทำให้การเปรียบเทียบเห็นเป็นมาตรฐาน ลบบันทึกที่ไม่มีเนื้อหา ยุบการทำซ้ำที่แน่นอน และจัดเรียงใหม่เฉพาะชุดสุดท้าย นับและเลิกทำได้ทุกขอบเขต ผลลัพธ์ไม่ใช่ฐานข้อมูลสมาชิกที่ได้รับการยืนยัน แต่เป็นบัญชีรายชื่อที่สะอาดกว่าและตรวจสอบได้ พร้อมสำหรับการตรวจสอบตัวตนที่ฟังก์ชันข้อความไม่สามารถทำได้