2016-06-13 19 views
2

Ich versuche, eine .srt-Datei zu bearbeiten, und ich bin auf eine bestimmte Aufgabe fest. Ich bin mir sicher, dass es einen einfacheren Weg gibt, aber nachdem ich ein paar Stunden gesucht habe, kann ich nichts finden, was mir hilft. Ich versuche, alle Vorkommen der Zeichenfolge "1" auszuwählen und dann den Spalteneditor zu verwenden, um diese Vorkommen um 1 zu erhöhen.Notepad ++ Suchen und Auswählen bestimmter Text oder Nummer in meinem Fall

Das erste Bild hier zeigt das Hauptproblem in meiner .srt-Datei. Ich möchte auswählen, nicht alle Werte markieren, die derzeit grün markiert sind. Das Feld zum Suchen und Ersetzen scheint nichts zu helfen, da ich meine Inkrementierungsoperation mit dem Spalteneditor für die ausgewählte Zeichenfolge ausführen muss. Ich habe auch die Mark-Funktion ausprobiert und das hat auch nicht gut getan.
enter image description here

Sobald ich sie ausgewählt habe, kann ich diese Operationen durchführen. enter image description here

enter image description here

enter image description here

Ich weiß, dass ich Sie die Strg-Taste gedrückt halten und die Linien manuell auswählen, die ich bearbeiten müssen, aber das würde ewig dauern. Es ist frustrierend zu wissen, dass der Text, den ich auswählen muss, bereits grün markiert, aber nicht ausgewählt ist. Ich bin nur ein Anfänger, wenn es um Notepad ++ geht, also kenne ich nicht alle Funktionen. Jede Hilfe würde sehr geschätzt werden. Vielen Dank.

+0

IMHO der einfachste Weg, einen Skript in Ihrer Lieblings-Skriptsprache zu schreiben ist. – Toto

+0

Lol Ich kenne sehr, sehr einfache Python und Java. Ich kann mir nicht vorstellen, warum es keine einfache Funktion wie Suchen und Auswählen gibt. Wie die Werte, die ich auswählen muss, sind bereits grün hervorgehoben, um laut zu schreien. – trenten

+0

Wenn jemand erklären könnte, wie schwierig es ist, den Code dafür zu schreiben, tun Sie etwas so Einfaches wie Auswählen. Ich habe keine Ahnung, welche Art von Programmierbefehlen ich verwenden oder sogar den Code in Notepad ++ implementieren müsste. Sind Sie sicher, dass es keinen einfachen Weg gibt, einen bestimmten Text auszuwählen? – trenten

Antwort

1

Dies ist nicht möglich, diesen Text einfach auszuwählen. Wenn Sie jedoch haben Pythonscript Plug-in, das ist leicht mit Python-Skript gemacht wie

counter = -1 

def increment_whole_line_number(match): 
    global counter 
    counter += 1 
    return str(int(match.group())+counter) 

editor.rereplace(r'(?m)^\d+$', increment_whole_line_number) 

Die (?m)^\d+$ Regex paßt eine ganze Zeile, die nur aus Ziffern besteht (1 oder mehr Stellen).

Here sind die Anweisungen, wie man die funktionierende PythonScript-Version installiert (da die eingebaute aus irgendeinem Grund nicht für mich funktioniert).

Hier ist mein Test:

enter image description here

+0

Um die Regex für Ihr Szenario etwas genauer zu machen, können Sie '(? M)^\ d + (? = \ R? \ N \ d {2}: \ d {2}: \ d {2} verwenden. \ d {3} ->) ' –

+1

Danke, ich muss zum Zahnarzt gehen, aber ich werde sicher sein, es heute Abend zu versuchen. – trenten

+1

Ich hatte ein wenig Zeit, und es funktionierte zuerst versuchen. Vielen Dank. Jeden Tag neue Dinge lernen. Jetzt werde ich das Skript studieren und lernen, wie es auf notepad ++ zutrifft, also kann ich vielleicht mein eigenes erstellen. – trenten