Как я могу обрезать строку в BASIC?

Как обрезать символы в строке, насколько вы хотите?

Например, предположим, что ваша строка — «Тони», но вы хотите отобразить «нью», обрезав первые два символа, как это можно сделать?

Sub Main()

Dim s As String
Dim Result As String

s = "Tony"
Result = LTrim(s)

msgbox(Result)

У меня это до сих пор с использованием функции LTrim, так как же указать, насколько вы хотите вырезать, чтобы просто отображать «ny» в MessageBox?


person user2634746    schedule 03.08.2013    source источник
comment
Это действительно BASIC или, возможно, VB6 или VB.NET? Это не одно и то же.   -  person MPelletier    schedule 02.12.2013


Ответы (3)


Вы не хотите LTrim. Вы хотите Right:

Result = Right(s, Len(s) - 2);

Это займет все, кроме двух самых левых символов s.

person jason    schedule 03.08.2013
comment
Спасибо за ответ, Майкл, скажем, я хотел вырезать 3 символа, корректировка кода будет выглядеть так: Результат = Правильно (с, Лен (с) - 3) правильно ?? - person user2634746; 03.08.2013

Что ж... Если бы я пытался обрезать начало строки, я бы использовал две функции: StrReverse и Remove.

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

Код будет выглядеть примерно так:

    Dim s As String = "Anthony"
    Dim index As Integer = 2

    Debug.Print(StrReverse(StrReverse(s).Remove(2)))

Результатом этого будет «ny», а длина будет соответствовать индексу.

person nick    schedule 06.08.2013
comment
Согласно разделу справки, не добавляйте подписи/подписания к своим вопросам или ответам. - person John Parker; 08.08.2013

Вы можете использовать дополнительные строковые функции, чтобы сделать то же самое, например:

X$ = RIGHT$(V$, 2) ' get the ending 2 chars of string
X$ = LEFT$(V$, 2) ' get the leading 2 chars of string
X$ = MID$(V$, 2, 2) ' get 2 chars from the inside of string
person eoredson    schedule 27.07.2016