Extraire une chaîne de caractères commençant par une majuscule avec une expression régulière (Ruby)

Que faire cette fois

Comme le titre l'indique, il extrait une chaîne de caractères commençant par une lettre majuscule dans une expression régulière.

code

Le code que j'ai écrit cette fois est le suivant


#Une méthode pour extraire une chaîne de caractères commençant par une majuscule à partir d'un tableau
def upperstr(array)

  #Variables utilisées comme indices de tableau
  count = 0

  #Un tableau qui stocke des chaînes commençant par une majuscule
  upper = []

  #Extraire tous les éléments contenus dans le tableau avec chaque méthode
  array.each{|arraystr|

    #Extrait une chaîne qui commence par une lettre supérieure dans une expression régulière et l'organise(upper)Stocker dans
    upper[count] = arraystr.slice(/^[A-Z].*/)

    #Ajoutez 1 à l'indice du tableau
    count += 1
  }
  
  #Si le début de la chaîne de caractères est inférieur, nil est stocké dans le tableau, supprimez donc nil avec la méthode delete.
  upper.delete(nil)

  #En tant que valeur de retour de la méthode, modifiez le tableau qui stocke les chaînes de caractères commençant par des majuscules.
  return upper

end


#Guide de l'utilisateur
p "Veuillez saisir les chaînes de caractères séparées par un espace demi-largeur."

#Attribuer une chaîne de caractères saisie depuis la console à une variable
str = gets

#Remplacez la chaîne de caractères d'entrée dans le tableau en le séparant par un espace demi-largeur
ary = str.split(" ")

#Attribuer la valeur de retour de la méthode upperstr à une variable
# (La méthode upperstr est une méthode pour extraire une chaîne de caractères commençant par une majuscule.)
upperary = upperstr(ary)

#Guide de l'utilisateur
p "J'ai sorti une chaîne de caractères commençant par une majuscule"

#Extraire tous les éléments contenus dans le tableau avec chaque méthode
upperary.each{|ustr|
  #Afficher le contenu du tableau
  p ustr
}

Expressions régulières

① Code upper[count] = arraystr.slice(/[1].*/)

②/ La plage entourée par / et / est la plage du modèle d'expression régulière.

③^ Indique que le caractère immédiatement après ^ est le premier caractère

④[A-Z] Cela signifie de A à Z, ce qui signifie qu'il est en majuscules. Vous pouvez rechercher une chaîne de caractères commençant par une lettre supérieure en tapant ^ [A-Z]. Si vous voulez le réduire, utilisez [a-z].

⑤. Est-ce que n'importe quel caractère.

⑥*

Contrôle de fonctionnement

J'écrirai le résultat de l'exécution réelle du programme. La valeur d'entrée est "aaa AAA B b CC cc DDDDD ddddd". Le résultat attendu est "AAA B CC DDDDD" car il récupère la chaîne commençant par les majuscules.

% ruby regex.rb 
"Veuillez saisir les chaînes de caractères séparées par un espace demi-largeur."
aaa AAA B b CC cc DDDDD ddddd
"J'ai sorti une chaîne de caractères commençant par une majuscule"
"AAA"
"B"
"CC"
"DDDDD"

Le résultat était comme prévu! C'est tout pour cet article!


  1. A-Z ↩︎

Recommended Posts

Extraire une chaîne de caractères commençant par une majuscule avec une expression régulière (Ruby)
Extraire une partie d'une chaîne en Ruby
Expression régulière Ruby Extrait d'une chaîne de caractères spécifique vers une chaîne de caractères
Je veux extraire entre des chaînes de caractères avec une expression régulière
Expression régulière Ruby
[Java] Découpez une partie de la chaîne de caractères avec Matcher et des expressions régulières
Extraire des éléments en remplaçant une expression régulière d'une grande quantité de HTML avec java
Découpez une chaîne de rubis
Remplacer par une valeur selon la correspondance avec une expression régulière Java
Une petite histoire d'expression régulière Partie 1
Une petite histoire d'expressions régulières Partie 2
Faites un jeu de frappe avec ruby
Apprendre Ruby avec AtCoder 8 [1er test pratique de l'algorithme double vérification] Expression régulière
<java> Fractionner l'adresse avant et après l'adresse avec une expression régulière
Appliquer le processus de correspondance d'expressions régulières avec JSON Sassert
J'ai fait une mort risquée avec Ruby
Diviser une chaîne avec ". (Dot)" en Java
Exécuter une méthode sur le résultat de la correspondance avec le remplacement d'expression régulière #Ruby (exemple: exemple au cas par cas)