Ваш код для извлечения всего до того, как %
не скомпилируется, потому что вы используете символы конмента в качестве разделителя ('
), а не ("
)
После исправления этого вам также придетсяВырежьте само значение.
Относительно новых условий здесь есть решение в vb.net, если перед числом всегда есть пробел:
Dim myString As String
myString = "shipping costs 10%"
Dim tmp As String
tmp = Left(myString, InStr(myString, "%") - 1)
Dim result As String
result = Right(tmp, Len(tmp) - InStrRev(tmp, " "))
Решение @AndrewMorton(см. комментарии вашего вопроса) гораздо элегантнее.Вы должны использовать это.