Programa Java para extraer una string entre comillas simples de una string más grande usando Regex

Declaración del problema: dada una string, extraiga la substring encerrada entre comillas simples (‘) usando Java Regex. 

Java regex es una API para la coincidencia de patrones con expresiones regulares. ‘java.util.regex’ es una clase utilizada paraInterfaz CharSequence< para admitir la comparación con caracteres de una amplia variedad de fuentes de entrada. No está permitido pasar un argumento nulo a ninguna clase o interfaz, ya que arrojará una excepción llamada<. Por lo tanto, se puede concluir que ‘java.util.regex’ contiene la interfaz y las clases de la siguiente manera:

  • Interfaz
    1. MatchResult: el resultado de una operación de coincidencia
  • Clases
    1. Matcher: un motor que realiza operaciones de coincidencia en una secuencia de caracteres mediante la interpretación de un patrón .
    2. Patrón: una representación compilada de una expresión regular.

Ilustración:

Input  : "Out of this String required only is 'Geeks for Geeks' only'"
Output : Geeks for Geeks
 
Input  : "The data wanted is'Java Regex'"
Output : Java Regex

Ejemplo

Java

// Java program to demonstrate extracting
// substring enclosed in single quotes
  
// Importing Matcher and Pattern class
// from regex class of java.util package
// Importing input output classes
import java.io.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
  
// Class
public class GFG {
  
    // Main driver method
    public static void main(String[] args)
    {
        // Custom input
        String string1
            = "Out of this String I want 'Geeks for Geeks' only";
  
        // Desired custom output
        String string2
            = "The data that I want is'Java Regex'";
  
        // Paranthesis indicate it is a group and signifies
        // it can have substring enclosed in single quote
        Pattern p = Pattern.compile(".*'([^']*)'.*");
  
        // This method returns a pattern object
  
        // Calling matcher() method of pattern object
        // and passing input character sequence
        Matcher m1 = p.matcher(string1);
        Matcher m2 = p.matcher(string2);
  
        // Printing complete entered string 1
        System.out.println("String to be extracted : "
                           + string1);
  
        // Condition check using matches() method which
        // looks out for content if any in single quote
        if (m1.matches()) {
  
            // Print the required sub-string
            System.out.println("Extracted part         : "
                               + m1.group(1));
        }
  
        // New line
        System.out.println();
  
        // Printing complete entered string 2
        System.out.println("String to be extracted : "
                           + string2);
  
        // Condition check using matches() method which
        // looks out for content if any in single quote
        if (m2.matches()) {
  
            // Print the required sub-string
            System.out.println("Extracted part         : "
                               + m2.group(1));
        }
    }
}
Producción

String to be extracted : Out of this String I want 'Geeks for Geeks' only
Extracted part         : Geeks for Geeks

String to be extracted : The data that I want is'Java Regex'
Extracted part         : Java Regex

Publicación traducida automáticamente

Artículo escrito por uvrajanshuman y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *