Regex to replace 'RIGHT SINGLE QUOTATION MARK' (U+2019)
Thread poster: CafeTran Trainer
CafeTran Trainer
CafeTran Trainer
Netherlands
Member (2006)
Aug 10, 2023

Who can share a regular expression to replace the 'RIGHT SINGLE QUOTATION MARK' (U+2019) with a straight double quotation mark when it's not followed by an “s”?

Thank you in advance!

Hans


jonasollie7g
 
Samuel Murray
Samuel Murray  Identity Verified
Netherlands
Local time: 22:32
Member (2006)
English to Afrikaans
+ ...
Which dialect? Aug 10, 2023

Hans Lenting wrote:
Who can share a regular expression...

In which program or in which dialect of regex?

E.g. in Microsoft Word, this works:
FIND: (’)([!s])
REPLACE: "\2

[Edited at 2023-08-10 08:55 GMT]


CafeTran Trainer
 
CafeTran Trainer
CafeTran Trainer
Netherlands
Member (2006)
TOPIC STARTER
Good point Aug 10, 2023

Samuel Murray wrote:

Hans Lenting wrote:
Who can share a regular expression...

In which program or in which dialect of regex?


Oops, you're right again. I need it for Java (used by CafeTran Espresso).


 
Samuel Murray
Samuel Murray  Identity Verified
Netherlands
Local time: 22:32
Member (2006)
English to Afrikaans
+ ...
Java Aug 10, 2023

Hans Lenting wrote:
Samuel Murray wrote:
Hans Lenting wrote:
Who can share a regular expression...

In which program or in which dialect of regex?

Oops, you're right again. I need it for Java (used by CafeTran Espresso).


According to this site:
https://www.freeformatter.com/java-regex-tester.html

This works:
FIND: (’)([^s])
REPLACE: "$2


 
Thomas T. Frost
Thomas T. Frost  Identity Verified
Portugal
Local time: 21:32
Danish to English
+ ...
Replace and replace back Aug 10, 2023

I think I would just replace all the ’ with " first and then replace all the "s to ’s.

 
CafeTran Trainer
CafeTran Trainer
Netherlands
Member (2006)
TOPIC STARTER
Later Aug 10, 2023

Samuel Murray wrote:

According to this site:
https://www.freeformatter.com/java-regex-tester.html

This works:
FIND: (’)([^s])
REPLACE: "$2


Thank you, Samuel. I'll test it later. I had already used the method described by Thomas.


 
Tony M
Tony M
France
Local time: 22:32
French to English
+ ...
SITE LOCALIZER
Word's own S-&-R Aug 10, 2023

Normally, you can just use Search & Replace all ' with ', and provided you have smart quotes turned on AND the correct language set, it will just do it automatically. It doesn't matter whether or not there is a trailing 's', all that matters is whether or not their is a leading space.

 
Thomas T. Frost
Thomas T. Frost  Identity Verified
Portugal
Local time: 21:32
Danish to English
+ ...
Hans doesn't want to change ’s Aug 10, 2023

Tony M wrote:

Normally, you can just use Search & Replace all ' with ', and provided you have smart quotes turned on AND the correct language set, it will just do it automatically. It doesn't matter whether or not there is a trailing 's', all that matters is whether or not their is a leading space.


Yes, but Hans doesn't want to change ’s to "s. What I understood he wanted was e.g.:

Change ‘Eric’s new house was falling apart’
to "Eric’s new house was falling apart"
rather than "Eric"s new house was falling apart".


 
Gjorgji Apostolovski
Gjorgji Apostolovski  Identity Verified
North Macedonia
Local time: 22:32
English to Macedonian
I was bored Dec 12, 2024

I know it's an old topic, but I was bored and here is my regex.

"(')(?!s|t)"



[Edited at 2024-12-12 14:08 GMT]


CafeTran Trainer
 
CafeTran Trainer
CafeTran Trainer
Netherlands
Member (2006)
TOPIC STARTER
Thanks Dec 12, 2024

Thank you!

Image-000025


[Edited at 2024-12-12 15:21 GMT]


 
Gjorgji Apostolovski
Gjorgji Apostolovski  Identity Verified
North Macedonia
Local time: 22:32
English to Macedonian
np:) Dec 12, 2024

No problem, and you can also add |c for o'clock
but I'm afraid that this regex will fail when there will be words like 'sheets', 'communities', 'theaters', etc...

The solution will be to use two regex,

the first one:
Find=(')(?!s|t|c)
Replace="

the second one:
Find=( ')(?=s|t|c) (space before ' )
Replace= " (space before " )

And if you can make macro with these, you don't have to write them again.

... See more
No problem, and you can also add |c for o'clock
but I'm afraid that this regex will fail when there will be words like 'sheets', 'communities', 'theaters', etc...

The solution will be to use two regex,

the first one:
Find=(')(?!s|t|c)
Replace="

the second one:
Find=( ')(?=s|t|c) (space before ' )
Replace= " (space before " )

And if you can make macro with these, you don't have to write them again.



[Edited at 2024-12-12 17:48 GMT]

[Edited at 2024-12-12 18:05 GMT]
Collapse


 
CafeTran Trainer
CafeTran Trainer
Netherlands
Member (2006)
TOPIC STARTER
Macro Dec 13, 2024

Gjorgji Apostolovski wrote:

And if you can make macro with these, you don't have to write them again.



The blue pane next to the Find and Replace window is popped up by a (Keyboard Maestro) macro whenever the window is opened. It contains the regular expressions I use most often.


Gjorgji Apostolovski
 


To report site rules violations or get help, contact a site moderator:

Moderator(s) of this forum
Laureana Pavon[Call to this topic]

You can also contact site staff by submitting a support request »

Regex to replace 'RIGHT SINGLE QUOTATION MARK' (U+2019)






Anycount & Translation Office 3000
Translation Office 3000

Translation Office 3000 is an advanced accounting tool for freelance translators and small agencies. TO3000 easily and seamlessly integrates with the business life of professional freelance translators.

More info »
Trados Business Manager Lite
Create customer quotes and invoices from within Trados Studio

Trados Business Manager Lite helps to simplify and speed up some of the daily tasks, such as invoicing and reporting, associated with running your freelance translation business.

More info »