Разбить строку на определенное слово и создать новую строку - PullRequest
0 голосов
/ 23 января 2019

Я пытаюсь разбить эту строку на слово "material_cd" и создать новую строку с разделенной строкой.

material_cd = 10798259 AND inputportcount  24 material_cd = 10798259 AND outputportcount  144 material_cd = 10798259 AND inputblockcount  1 material_cd = 10798259 AND outputblockcount  1 material_cd = 10798259 AND bv_type_name  FDH material_cd = 10798259 AND manufacturer  Corning material_cd = 10798259 AND partnumber  N/A material_cd = 10798259 AND bv_status  Preliminary Designed material CD = 10798259 AND bv_tail_length  25

Желаемый результат:

material_cd = 10798259 AND inputportcount <> 24
material_cd = 10798259 AND outputportcount <> 144
material_cd = 10798259 AND inputblockcount <> 1
material_cd = 10798259 AND outputportcount <> 1

.... и т. Д.

Возможно ли это?

Ответы [ 2 ]

0 голосов
/ 23 января 2019

Как то так,

Sub tt()

Dim s As String
Dim a() As String

s = "material_cd = 10798259 AND inputportcount  24 material_cd = 10798259 AND outputportcount  144 material_cd = 10798259 AND inputblockcount  1 material_cd = 10798259 AND outputblockcount  1 material_cd = 10798259 AND bv_type_name  FDH material_cd = 10798259 AND manufacturer  Corning material_cd = 10798259 AND partnumber  N/A material_cd = 10798259 AND bv_status  Preliminary Designed material CD = 10798259 AND bv_tail_length  25"
s = Replace(s, "material_cd", "*^*material_cd")
a = Split(s, "*^*")

Range("a1").Resize(UBound(a) - 1, 1).Value = Application.Transpose(a)

End Sub
0 голосов
/ 23 января 2019

Просто используйте команду split и используйте строку material_cd в качестве критерия разделения. При работе с разделенными частями снова добавьте строку material_cd:

Const s = "material_cd = 10798259 AND inputportcount  24 ..."
Const splitString = "material_cd"

Dim a() As String, i As Integer
a = Split(s, splitString )

For i = 0 To UBound(a)
    Debug.Print splitString  & a(i)
Next i
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...