Checking for multiple occurrence of character repeated or spread out in string with regex

Juliana picture Juliana · Sep 15, 2013 · Viewed 10.2k times · Source

Having syntax trouble, I'm new to using regex. I'm coding in java.

I need to check if an apostrophe is used more than once in a string. Multiple apostrophes can either be consecutive or spread out over the string.

For example: Doesn't'work or Can''t

I have an if statement, and I want it to evaluate to true if there is more than one apostrophe:

if(string.matches("\\'")){ 
.
.
}

any help would be great!

Answer

Rohit Jain picture Rohit Jain · Sep 15, 2013

You don't need a regex for this. Since you are only looking for more than one occurrence, you can make use String#indexOf(String) and String#lastIndexOf(String) methods:

if (str.contains("'") && str.indexOf("'") != str.lastIndexOf("'")) {
    // There are more than one apostrophes
}