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

2
จะตรวจสอบ elisp ได้อย่างไรว่าสตริงนั้นเป็นสตริงย่อยของสตริงอื่น?
จะตรวจสอบได้อย่างไรว่าสตริงs1นั้นเป็นสตริงย่อยของสตริงอื่นs2หรือไม่? ตัวอย่างเช่น,(test-substring "f t" "df tj") --> t (test-substring "ft" "df tj") --> nil
25 elisp  string 

1
วิธีการตัดแถบตกแต่ง (คุณสมบัติข้อความ) จากสตริง?
โดย "สตริงตกแต่ง" ฉันหมายถึงสิ่งที่ชอบ #("foo" 0 4 (fontified t face font-lock-function-name-face)) ... ตรงข้ามกับ "สตริงธรรมดา" "foo" (หากรหัส Elisp อ่านสตริงโดยตรงจากบัฟเฟอร์มันอาจถูกตกแต่งเช่นนี้) วิธีที่ง่ายที่สุดในการแปลงสตริงที่ตกแต่งเป็นสตริงธรรมดา (โดยการปอกการตกแต่งทั้งหมด) คืออะไร?

1
รับเนื้อหาของบัฟเฟอร์
ดังนั้นbuffer-stringได้รับเนื้อหาของบัฟเฟอร์ปัจจุบัน แต่ไม่อนุญาตให้ระบุบัฟเฟอร์อื่น ฉันจะหลีกเลี่ยงสิ่งนั้นได้อย่างไร ฉันต้องการบางสิ่งบางอย่างsave-window-excursionเพื่อให้มันทำงานได้หรือไม่

4
การแทนที่สตริงชื่อ?
ฉันมักจะต้องทำการแทนที่ของสตริงเดียวกันหลายครั้ง: (format "%s %s %s" "a" "a" "a") ;; gives: "a a a" (เป็นเพียงตัวอย่างหลอกๆในกรณีนี้ดีกว่าที่จะใช้กาว "a" กับช่องว่าง แต่โดยทั่วไปแล้วฉันจัดการกับสถานการณ์ที่ซับซ้อนมากขึ้น) มีวิธีที่จะทำการทดแทนที่มีชื่อหรือไม่? เช่นในไพ ธ อนคนหนึ่งจะเขียน: "{0} {0} {0}".format("a") # or: "{name} {name} {name}".format(name="a")
13 elisp  string 

2
ฉันจะกำจัดสตริง“ default” (ใช้งานล่าสุด) ในฟังก์ชั่น emacs ได้อย่างไร?
ฉันมีปัญหาดังต่อไปนี้: เมื่อฉันใช้ 'Cx rt' (string-rectangle) ฉันได้รับแจ้งให้ป้อนสตริงบางส่วนเพื่อแทนที่สี่เหลี่ยมผืนผ้าที่เลือก ให้บอกว่าฉันพิมพ์ ";;" (เพื่อแสดงความคิดเห็นสี่เหลี่ยมผืนผ้า) ใช้งานได้ดี แต่ครั้งต่อไปที่ฉันเรียกใช้ฟังก์ชันเดียวกันและฉันต้องการแทนที่ด้วยไม่มีอะไร (สตริงว่าง) ฉันไม่สามารถทำได้เพราะมี "สตริง" เริ่มต้น ";; ที่ฉันใช้ก่อนหน้านี้และถ้าฉันเพิ่งกด Enter คำสั่งจะใช้ที่ ";;" สตริงแทนค่าว่าง ฉันจะตั้งเป็นสตริงว่างได้อย่างไร ปัญหาที่คล้ายกันฉันมีบางฟังก์ชั่นการค้นหา / แทนที่ โดยทั่วไปเมื่อมันจดจำสตริงล่าสุดที่ฉันใช้และตั้งค่าเป็นค่าเริ่มต้นฉันจะ "ป้อน" สตริงว่างแทนได้อย่างไร แก้ไข: Kill-rectangle กล่าวโดย YoungFrog แก้ปัญหาเฉพาะ แต่ฉันมีสิ่งอื่นในใจ: basicaly ในสิ่งที่เคย emacs ฟังก์ชั่นจำค่าสุดท้ายที่คุณป้อนและใช้มันเป็น "เริ่มต้น" เมื่อคุณกด Enter คุณควรจะ สามารถล้าง "ค่าเริ่มต้น" เป็นค่าเริ่มต้นจริงก่อนที่คุณจะใช้ฟังก์ชั่น นี่เป็นอีกตัวอย่าง: ในโหมด dired หากคุณ 'Mx …


4
แป้นพิมพ์ลัดใดที่จะใช้สำหรับการนำทางออกจากสตริง
เมื่อฉันอยู่กลางสตริง looooong ดังต่อไปนี้ (setq Emacs-beta "Which keyboard shortcut to use for navigating out of a string") ฉันสามารถข้ามมันไปได้ก่อน"ทางลัดแรก(หลังจาก Emacs-beta) ได้หรือไม่?
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.