Страницы: 1
RSS
Удалить текст после набора символов, где цифры различные
 
привет, подскажите пожалуйста.
нужно удалить текст в строке, например:

Имеем: КЗ30, Рупорный громкоговоритель пластиковый 30Вт/15Вт-100В, белый, IP66, t: -30 +40, 4шт. в коробке: 50х33х66см.

Нужно получить: КЗ30, Рупорный громкоговоритель пластиковый 30Вт/15Вт-100В, белый, IP66, t: -30 +40

при этом фраза ", 4шт" может меняться, могут быть разные цифры:

, 14шт
, 8шт
, 2шт

и так далее.
Заранее спасибо.  
 
simlight, ну исходя из столь обширного примера то просто
="КЗ30, Рупорный громкоговоритель пластиковый 30Вт/15Вт-100В, белый, IP66, t: -30 +40" ведь написано что при этом фраза ", 4шт" может меняться, про остальное не сказано.

А если серьезно, то сделайте пример с набором возможных вариантов., а то ведь решение может от самого простого как написано выше, до невозможного.
По вопросам из тем форума, личку не читаю.
 
Код
Function DelCount(s)
  Dim re
  Set re = CreateObject("VBScript.RegExp"): re.Pattern = ", \d+шт.+"
  If re.test(s) Then DelCount = re.Replace(s, "")
End Function
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Цитата
написал:
Код
    [URL=#]?[/URL]       1  2  3  4  5      Function   DelCount(s)        Dim   re        Set   re = CreateObject(  "VBScript.RegExp"  ): re.Pattern =   ", \d+шт.+"        If   re.test(s)   Then   DelCount = re.Replace(s,   ""  )    End   Function   
 
супер, работает, а можно сделать, чтобы если такой текст отсутствует, не возвращало 0?
 
можно.
а что нужно возвращать? (я не склонен к фантазиям, я - при решении задачи, обычно полагаюсь на описание задачи)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Цитата
написал:
можно.
а что нужно возвращать? (я не склонен к фантазиям, я - при решении задачи, обычно полагаюсь на описание задачи)
возвращать без изменений оригинальный текст
 
Код
Function DelCount(s) As String
    Dim re As Object
    Set re = CreateObject("VBScript.RegExp")
    re.Pattern = ", \d+шт.+"
    If re.test(s) Then
        DelCount = re.Replace(s, "")
    Else
        DelCount = s
    End If
End Function
Изменено: New - 17.05.2022 22:48:01
 
Код
Function DelCount(s)
  Dim re
  Set re = CreateObject("VBScript.RegExp"): re.Pattern = ", \d+шт.+"
  If re.test(s) Then DelCount = re.Replace(s, "") Else DelCount = s
End Function
Изменено: Ігор Гончаренко - 17.05.2022 22:52:49
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Цитата
simlight написал:
супер, работает
с трудом представляю как такое , как в цитате #4 может работать, и зачем такая цитата. Вернитесь и исправьте.
По вопросам из тем форума, личку не читаю.
Страницы: 1
Наверх