Isolieren Sie alphabetische Zeichenfolgen innerhalb einer größeren Zeichenfolge

8

Gibt es eine Möglichkeit, Teile eines Strings in alphabetischer Reihenfolge zu isolieren?

Mit anderen Worten, wenn Sie eine Zeichenfolge wie diese haben: hjubcdepyvb

Könnten Sie den Teil einfach in alphabetischer Reihenfolge herausziehen ?: bcde

Ich habe über die Funktion is.unsorted() nachgedacht, aber ich bin mir nicht sicher, wie ich das nur auf einen Teil einer Zeichenkette anwenden soll.

    
tdm 15.03.2017, 20:24
quelle

3 Antworten

8

Hier ist eine Möglichkeit, indem Sie in ASCII und zurück konvertieren:

%Vor%

Beachten Sie, dass dadurch Teile in alphabetischer Reihenfolge verkettet werden.

d. Wenn die Eingabe "abcxasdicfgaqwe" ist, lautet die Ausgabe abcfg .

Wenn Sie separate Vektoren für jede sequentielle Zeichenfolge erhalten möchten, können Sie Folgendes tun:

%Vor%

Schließlich musste ich einen Weg finden, Regex zu verwenden:

%Vor%

Dieser reguläre Ausdruck identifiziert aufeinanderfolgende Groß- oder Kleinbuchstaben (aber nicht Groß- / Kleinschreibung). Wie gezeigt, funktioniert es für Zeichenvektoren und erzeugt eine Liste von Vektoren mit allen identifizierten Übereinstimmungen. Wenn keine Übereinstimmung gefunden wird, lautet die Ausgabe character(0) .

    
Nick Kennedy 15.03.2017 20:33
quelle
4

Verwenden der Ganzzahlkonvertierung von Faktor:

%Vor%     
zx8754 15.03.2017 20:53
quelle
3
%Vor%     
d.b 15.03.2017 20:48
quelle

Tags und Links