2015-02-23 12 views
5

Próbuję znaleźć spację przed ostatnim słowem ciągu.Wyrażenie regularne Znajdowanie przestrzeni przed ostatnim słowem

Na przykład dla

Bob Jane 

chciałbym znaleźć miejsce tuż przed Jane. Próbuję znaleźć i wymienić wszystko, aby stało się przecinkiem. Zatem ostateczny wynik byłby

Bob ,Jane 

Ja tylko robi to w edytorze tekstowym (używając Sublime), więc nie używam języka programowania. Dziękuję Ci!

Odpowiedz

3
[ ](?=[^ ]+$) 

Można spróbować this.Replace przez , .Patrz demo.

https://regex101.com/r/oL9kE8/17

+1

Dzięki! To się udało! Chciałbym również przegłosować, ale nie mogę, ponieważ właśnie zacząłem na moim koncie. – johnny838

1

sprawdź co:

(\S+ *)$ 

zamiennych ciąg:

,\1 

DEMO

Jeśli chcesz dodać przecinek po do przestrzeni, która istnieje przed ostatnim słowem następnie spróbuj poniżej regex.

(?<=)(\S+ *)$ 

Wymiana ciąg:

,\1 

DEMO

+1

lub '\ s (\ S + \ s *) $' –

+1

Dzięki za pomagając. Przyjąłem poprzednią odpowiedź, ale i tak bardzo dziękuję! Chciałbym przegłosować, ale nie mogę, odkąd zacząłem używać mojego konta. – johnny838

+1

Zwróć uwagę, że wyrażenie regularne w zaakceptowanej odpowiedzi zastąpi ostatnie spacje. https://regex101.com/r/oL9kE8/18 nie spacja przed ostatnim słowem. –