ในทุบตีฉันมีสตริงและฉันพยายามลบตัวละครที่อยู่ตรงกลางของสตริง ฉันรู้ว่าเราสามารถลบตัวละครจากจุดเริ่มต้นหรือจุดสิ้นสุดของสตริงเช่นนี้
myVar='YES'
myVar="${myVar#'Y'}"
myVar="${myVar%'S'}"
แต่ฉันจะลบอันที่ตรงกลางออกได้อย่างไร
ในทุบตีฉันมีสตริงและฉันพยายามลบตัวละครที่อยู่ตรงกลางของสตริง ฉันรู้ว่าเราสามารถลบตัวละครจากจุดเริ่มต้นหรือจุดสิ้นสุดของสตริงเช่นนี้
myVar='YES'
myVar="${myVar#'Y'}"
myVar="${myVar%'S'}"
แต่ฉันจะลบอันที่ตรงกลางออกได้อย่างไร
คำตอบ:
หากคุณรู้ว่าอักขระใดที่จะลบคุณสามารถใช้การทดแทนในการขยายพารามิเตอร์:
myVar=${myVar/E} # Replace E with nothing
หรือถ้าคุณรู้ว่าควรเก็บตัวอักษรอะไร:
myVar=${myVar/[^YS]} # Replace anything but Y or S
หรือถ้าคุณรู้ตำแหน่ง:
myVar=${myVar:0:1}${myVar:2:1} # The first and third characters