How to extract all the substrings between single quotation marks in Java

1 Answer

0 votes
import java.util.List;
import java.util.ArrayList;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Main {
    public static List<String> extractSubstrings(String s) {
        // Regular expression pattern to find substrings between single quotation marks
        String pattern = "'(.*?)'";
        Pattern compiledPattern = Pattern.compile(pattern);
        Matcher matcher = compiledPattern.matcher(s);
        
        List<String> substrings = new ArrayList<>();
        
        while (matcher.find()) {
            substrings.add(matcher.group(1));
        }
        
        return substrings.isEmpty() ? new ArrayList<>() : substrings;
    }

    public static void main(String[] args) {
        String s = "Java is a 'high-level', 'class-based', 'object-oriented' programming language";
        
        List<String> result = extractSubstrings(s);
        
        System.out.println(result);
    }
}

  
  
/*
run:
  
[high-level, class-based, object-oriented]
  
*/

 



answered Feb 12, 2025 by avibootz
edited Feb 12, 2025 by avibootz
...