2015-09-29 30 views
2

我试图将\'映射到''。也就是说,一个由反斜线后跟一个单引号组成的字符串应该映射到两个单引号。Java正则表达式;需要映射到''

我使用

string = string.replace("\'", "''") 

试图但这也一个单引号映射到两个单引号(即"'""''"),这是不正确的我需要什么。我究竟做错了什么?

+0

您是否尝试过转义反斜杠?如''\\'“'? – ddsnowboard

+0

你的文字有'\''可见吗?两个字符?你必须搜索''\\'“',因为''''在java''''引用的字符串中没有什么特别的。 –

+0

正如我在对Kasramvd的评论中所提到的,我试图逃避反斜杠,但是这导致了一个不同的单元测试失败,问题出在那个单元测试上,谢谢大家, – Deomachus

回答

4

反斜杠这里是一个转义字符,它只是将匹配',如果你想匹配\'需要\\'

string = string.replace("\\'", "''") 
+0

是的,谢谢你,这是正确的,我已经尝试过了,但其中一个单元测试失败了。事实证明单元测试是有缺陷的。 – Deomachus

1

的“\”需要转义本身,因为它是一个特殊字符。 "\\'", "''"