遇到语法问题,我是使用正则表达式的新手。我正在用java编码。
我需要检查一个撇号是否在一个字符串中多次使用。多个撇号可以是连续的,也可以散布在字符串上。
例如:Doesn't'work
或Can''t
我有一个if
声明,我希望它评估true
是否有多个撇号:
if(string.matches("\\'")){
.
.
}
任何帮助都会很棒!
遇到语法问题,我是使用正则表达式的新手。我正在用java编码。
我需要检查一个撇号是否在一个字符串中多次使用。多个撇号可以是连续的,也可以散布在字符串上。
例如:Doesn't'work
或Can''t
我有一个if
声明,我希望它评估true
是否有多个撇号:
if(string.matches("\\'")){
.
.
}
任何帮助都会很棒!
您不需要正则表达式。由于您只寻找不止一次出现,您可以使用String#indexOf(String)
和String#lastIndexOf(String)
方法:
if (str.contains("'") && str.indexOf("'") != str.lastIndexOf("'")) {
// There are more than one apostrophes
}
我正在尝试使用 string.matches
恕我直言,您不需要它。你可以这样做:
String s = "Doesn't'work or Can''t";
int lengthWithApostrophes = s.length();
int lengthWithoutApostrophes = s.replace("'", "").length();
if(lengthWithApostrophes - lengthWithoutApostrophes >= 2) {
// Two or more apostrophes
}
如果你想用正则表达式来做,这是我想到的第一件事
s.matches(".*'.*'.*")
if(string.matches(".*\\\'.*\\\'.*")){ . . }