ฉันจะย้อนกลับบรรทัดใน Notepad ++ ได้อย่างไร


12

เป็นไปได้ไหมที่จะย้อนกลับบรรทัดเดียวใน Notepad ++?

ตัวอย่าง:

Hello world

จะเปลี่ยนเป็น

dlrow olleH

ฉันควรติดตั้งปลั๊กอินสำหรับฟังก์ชั่นดังกล่าวหรือไม่?

อัปเดต : ฉันต้องการให้คลิปบอร์ดอยู่ในสภาพดั้งเดิม ดังนั้น [คัดลอก] - [การแปลงภายนอก] - [วาง] จึงไม่เหมาะ

นอกจากนี้ฉันต้องการอยู่ในสภาพแวดล้อมเดสก์ท็อปที่ตัดการเชื่อมต่อดังนั้นโซลูชันบริการออนไลน์ใด ๆ จึงไม่เหมาะสม

คำตอบ:


6

คุณสามารถทำการค้นหาแบบวนซ้ำและแทนที่เพื่อย้อนกลับสตริงหลังจากคุณทำเครื่องหมายจุดเริ่มต้นของสตริงด้วยอักขระพิเศษ (ฉันใช้เครื่องหมายเปอร์เซ็นต์% ในตัวอย่าง)

ค้นหา: (%)(.*)(.)

แทนที่: \3\1\2

เปิดใช้งาน "นิพจน์ปกติ" ในการค้นหาและแทนที่

ทำซ้ำการดำเนินการจนกว่าจะมีการย้อนกลับสตริง


2
นี่อาจจะเหนื่อยเป็นเวลานาน แต่นั่นก็เป็นทางออกที่ดีเพราะมันยังอยู่ในสภาพแวดล้อมของ NPP
Ron Klein

3

UPDATE:ฉันได้เพิ่มสคริปต์ Python-3 "ย้อนกลับข้อความคลิปบอร์ด"
สคริปต์ Python-3 นี้เหมาะสำหรับข้อความ Unicode กล่าวคือ ข้อความทั้งหมด ...

# original # Ĥĕłłō ŵōŗłđ in Unicode  
# reversed # edocinU ni đłŗōŵ ōłłĕĤ  

เนื่องจากยังไม่มีการนำเสนอโซลูชันแบบรวม (ยัง) ฉันจะพูดถึง Unix-tools ในการแก้ไข

ดาวน์โหลดยูทิลิตี้ที่กล่าวถึงในแหล่งที่มา (ด้านล่าง) และใส่ไว้ในโฟลเดอร์ PATH'd
ใส่รหัส (ด้านล่าง) ลงในไฟล์. cmd แล้วเรียกมันว่าอะไรก็ได้ที่คุณต้องการ (แน่นอนว่าต้องเป็นโฟลเดอร์ PATH)
สร้างทางลัด Windows เป็น. cmd (วางไว้ที่ใดที่หนึ่งใน StartMenu ของคุณและตั้งค่าให้เรียกใช้ย่อขนาดเล็กสุด) ... และยืนยันคีย์ลัดลัด

จากนั้นคุณสามารถคัดลอกข้อความที่คุณเลือกไปยังคลิปบอร์ดแล้วกด Hotkey ของคุณ ... เสร็จสิ้น! .. ข้อความที่กลับด้านแทนที่ข้อความที่เลือก

หากคุณต้องการคุณสามารถตั้งค่าแมโคร NotePad ++ เพื่อเลือกและคัดลอกทั้งบรรทัด .. (จดบันทึกบรรทัดใหม่ในตอนท้ายของข้อความ

นอกจากนี้ตามที่กล่าวไว้ในบันทึกย่อของแหล่งที่มา workd นี้สำหรับชุดอักขระไบต์เดียว ..

sed.exeอาจจะสามารถจัดการกับ Unicode ได้ แต่ฉันยังไม่ได้ทำอย่างนั้นออกมา ... ถ้าคุณรู้วิธีการทำเช่นนี้โปรดโพสต์ข้อมูลไม่ว่าจะที่นี่หรือบางทีในการโพสต์ของฉัน qustion เฉพาะติดต่อปัญหานี้ : can-gnu-sed-for-windows-handle-unicode

นี่คือsed.exeรุ่น:

@echo off
  ::==============================================::
  :: FUNCTION: Reverse the text in the clipboard. ::
  ::    8-bit characters only (ANSI).             ::
  :: It removes all \r and \n characters, because ::
  :: because sed.exe adds a trailing line-feed    ::
  :: Four `NIX utilities are used.                ::
  ::    2 gclip.exe  (GNU)                        ::
  ::    1 pclip.exe  (GNU)                        ::
  ::    3 gsed.exe   (GNU)                        ::
  ::    4 tr.exe (is `NIX, but maybe not GNU)     ::
  ::==============================================:: 
  >   "%temp%\%n0.sed" echo /\n/!G
  >>  "%temp%\%n0.sed" echo s/\(.\)\(.*\n\)/^&\2\1/
  >>  "%temp%\%n0.sed" echo //D
  >>  "%temp%\%n0.sed" echo s/.//
  pclip.exe | sed.exe -f "%temp%\%n0.sed" | tr.exe -d "\r\n" | gclip.exe  
  del "%temp%\%n0.sed"
goto :eof  

นี่คือPython-3รุ่น:

##==============================================##
## FUNCTION: Reverse the text in the clipboard. ##
##           The text is handled as unicode.    ##
## Using Python-3.1.2                           ##
##  with Python-Win32-extensions for Python-3.1 ##
##==============================================##
import win32clipboard as w
w.OpenClipboard() 
## CF_UNICODETEXT == 13
s=w.GetClipboardData(13)
w.SetClipboardData(13,s[::-1]) 
w.CloseClipboard() 

ใช้งานได้ดีกับ python 2.5 บน windows เช่นกัน หวาน!
เดนนิส

สิ่งนี้จะเปลี่ยนสถานะของคลิปบอร์ด ฉันต้องการหลีกเลี่ยงสิ่งนี้ อย่างไรก็ตามหากใช้งานได้ฉันอาจยอมรับได้
Ron Klein

2

หากคุณไม่จำเป็นต้องทำเช่นนั้นบ่อยครั้งคุณสามารถคัดลอกบรรทัดลงในเครื่องมือออนไลน์นี้เพื่อทำการกลับรายการ


เป็นแนวคิดที่ดี แต่ประเด็นก็คือการทำงานในสภาพแวดล้อม Notepad ++ ต่อไปและไม่ไปยังแหล่งข้อมูลภายนอก (เบราว์เซอร์)
Ron Klein

ขออภัยในสถานะออฟไลน์เครื่องมือ
Antonio

2

ฉันรู้ว่านี่ใช้เครื่องมืออื่น แต่คุณสามารถย้อนกลับข้อความใน Excel แล้วคัดลอกกลับ สร้างสเปรดชีตและเพิ่มมาโครนี้:

Sub ReverseText()
    Cells(Selection.Row, Selection.Column + 1) = StrReverse(Selection.Value)
End Sub

หากคุณตั้งใจจะใช้คุณสมบัตินี้เป็นประจำให้กำหนดมาโครให้กับปุ่มบนแถบเครื่องมือเพื่อให้เข้าถึงได้ง่าย คัดลอกข้อความไปยังเซลล์ใดก็ได้ ตรวจสอบให้แน่ใจว่ามีการเลือกเซลล์และเรียกใช้แมโคร คัดลอกข้อความที่สร้างกลับไปยัง Notepad ++

น่าแปลกใจที่ง่ายคุณลักษณะนี้ไม่สามารถใช้ได้ใน Notepad ++ TextFXหรือผ่านทางปลั๊กอินเช่น


1

ปลั๊กอิน BinHex รุ่น 2.0 ของ Notepad ++ มีฟังก์ชั่น String reverse ที่นำมาใช้

คุณสามารถทำเครื่องหมายสตริงที่ควรกลับและตี+CtrlR


0

ส่วนขยายของแนวคิดของ gor หากสตริงของคุณน้อยกว่าสิบอักขระ:
สร้างแมโครของสิ่งนี้
ไฮไลต์พื้นที่ที่ต้องการใน N ++

ค้นหา:

(.?)(.?)(.?)(.?)(.?)(.?)(.?)(.?)(.?)

แทนที่:

\9\8\7\6\5\4\3\2\1

แทนที่ในการเลือก: ตรวจสอบแล้ว

N ++ รองรับเพียงสิบกลุ่มเท่านั้นนั่นคือทั้งหมดที่คุณได้รับ แต่อย่างน้อยก็มีสิบตัวอักษรพร้อมกัน

นอกหัวข้อเอ็นจิ้น regex ของ IE นั้นแตกต่างจากที่ยอมรับในแง่ของ regex ประเภทนี้ดังนั้นจึงอาจทำได้ใน IE โดยไม่มีการวนซ้ำ


0
  1. เลือกข้อความที่จะย้อนกลับ
  2. แบ่งออกเป็นหลายบรรทัดโดยใช้หน้าต่างแทนที่ด้วยการเลือกในและการแสดงออกปกติที่เลือกเพื่อแทนที่ทั้งหมด (.) ด้วย \ n \ 1
  3. เลือกข้อความอีกครั้ง (ด้วยเหตุผลบางอย่างตัวละครสุดท้ายจะถูกละทิ้งจากการเลือกหลังจากขั้นตอนที่ 2)
  4. ใช้คำตอบเพื่อย้อนลำดับบรรทัดใน Notepad ++เพื่อย้อนกลับบรรทัด
  5. รวมบรรทัดใหม่โดยใช้หน้าต่างแทนที่ด้วยในการเลือกและขยายที่เลือกเพื่อแทนที่ทั้งหมด \ n ด้วยสตริงว่าง
  6. คุณอาจต้องลบบรรทัดใหม่ที่ไม่เกี่ยวข้อง
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.