Шаблон регулярного выражения в строке, а затем также удалите подстроку

У меня есть список строк, который содержит несколько наборов символов и пробелов в начале, прежде чем встречаются первые три цифры. если шаблон найден, то мне нужно собрать из строки только первые три цифры.

Пример1:

String: "SEE 222 Newcastle NSW 203"
Expected output: 222

Пример2:

String: "SEE TEMP 212 Newcastle NSW 203"
Expected output: 212

Пример3:

String: "SEE TEMP212 Newcastle NSW 203"
Expected output: 212

В вашем сообщении нет ясности. Вам нужно «ВИДЕТЬ» в начале?

Mustofa Rizwan 08.08.2024 11:46

Что это, VBA или Vbscript? Пожалуйста, используйте только один.

Geert Bellekens 08.08.2024 11:52

VBA будет лучшим вариантом. Спасибо

Ashwani Aggarwal 08.08.2024 12:06

@MustofaRizwan Вначале не требуется «SEE»

Ashwani Aggarwal 08.08.2024 12:07
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
2
4
56
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий
Sub TestExtractFirstThreeDigits()
    Dim testString1 As String
    Dim testString2 As String
    Dim result As String
    
    testString1 = "SEE 222 Newcastle NSW 203"
    testString2 = "SEE TEMP 212 Newcastle NSW 203"
    
    result = ExtractFirstThreeDigits(testString1)
    Debug.Print "Example 1: " & result ' Expected output: 222
    
    result = ExtractFirstThreeDigits(testString2)
    Debug.Print "Example 2: " & result ' Expected output: 212
End Sub

Function ExtractFirstThreeDigits(inputString As String) As String
    Dim regex As Object
    Dim matches As Object
    Dim firstThreeDigits As String
    
    ' Create the RegExp object
    Set regex = CreateObject("VBScript.RegExp")
    With regex
        .Pattern = "\b\d{3}\b" ' Pattern to match exactly three digits
        .Global = False ' We only need the first match
    End With
    
    ' Execute the regex search
    Set matches = regex.Execute(inputString)
    
    ' Check if any match is found
    If matches.Count > 0 Then
        firstThreeDigits = matches(0).Value
    Else
        firstThreeDigits = ""
    End If
    
    ' Return the first three digits found
    ExtractFirstThreeDigits = firstThreeDigits
End Function

Пожалуйста, не делайте слепо чужую работу за них. Это только поощряет меня присылать мне типы кодов. Этот вопрос не заслуживает ответа в его нынешнем виде, поскольку это всего лишь список требований.

Geert Bellekens 08.08.2024 11:56

Спасибо, это работает, и лучшее объяснение в комментариях. но не работает на «SEE TEMP212 Newcastle NSW 203»

Ashwani Aggarwal 08.08.2024 12:10

Например3: он не работает. Пожалуйста, предложите. Строка: «SEE TEMP212 Newcastle NSW 203». Ожидаемый результат: 212 и не работает.

Ashwani Aggarwal 08.08.2024 12:12

«\d{3}\b» у меня работает для всех шаблонов. Спасибо всем за ваши комментарии.

Ashwani Aggarwal 08.08.2024 12:29

@Geert Bellekens Я хотел бы признаться, что некоторое время назад я также ответил на такой ответ: «Мы не являемся бесплатной службой написания кода, бла, бла, бла...». Я получил сообщение от администраторов, в котором говорилось, что мы «действительно предлагаем услуги бесплатного кода». Хорошо бы рассказать ОП, как хороший вопрос увеличит его шансы получить (хороший) ответ, и дать ссылку на сообщение, описывающее, что означает хороший вопрос. Кроме того, демонстрация собственных усилий по решению проблемы побудит более опытных пользователей попытаться помочь ему. Все иногда были новичками и не знали, как здесь себя вести...

FaneDuru 08.08.2024 12:46

Мое плохое улучшится, помогая людям.

Carl Angelo Orale 08.08.2024 14:45

Другие вопросы по теме