У меня есть оператор Case, который возвращает другое количество нулей в зависимости от выбранного случая. Мне нужен способ, если количество нулей больше 3, обрезать последние 3 нуля из строки. В настоящее время у меня есть случаи, возвращающие строки, такие как «0» или «000000». В этой ситуации код превратит «000000» в «000».Обрезка последних трех символов из строки на основе условия
я в настоящее время:
If NumberOfZeros.Length > 3 Then
NumberOfZeros.Remove(0, NumberOfZeros.Length - 3)
End If
Но очевидно, что это не работает. Любая помощь будет принята с благодарностью!
EDIT: Если кто-нибудь может уточнить это сообщение, сделайте пожалуйста. По просьбе комментария здесь рассматривается CASE.
Dim Colour As String = " "
Colour = Cmbl3.SelectedItem
Select Case Colour
Case "Black"
NumberOfZeros = "0"
lblcolour3.BackColor = Color.Black
Cmbr.Enabled = True
Case "Brown"
NumberOfZeros = "00"
lblcolour3.BackColor = Color.SaddleBrown
Cmbr.Enabled = True
Case "Red"
ValueOf0s = "000"
lblcolour3.BackColor = Color.Red
Cmbr.Enabled = True
Case "Orange"
NumberOfZeros = "0000"
lblcolour3.BackColor = Color.Orange
Cmbr.Enabled = True
Case "Yellow"
NumberOfZeros = "00000"
lblcolour3.BackColor = Color.Yellow
Cmbr.Enabled = True
Case "Green"
ValueOf0s = "000000"
lblcolour3.BackColor = Color.Green
Cmbr.Enabled = True
Case "Blue"
NumberOfZeros = "0000000"
lblcolour3.BackColor = Color.Blue
Cmbr.Enabled = True
Case "Violet"
NumberOfZeros = "00000000"
lblcolour3.BackColor = Color.DarkViolet
Cmbr.Enabled = True
Case "Grey"
NumberOfZeros = "000000000"
lblcolour3.BackColor = Color.Gray
Cmbr.Enabled = True
Case "White"
NumberOfZeros = "0000000000"
lblcolour3.BackColor = Color.White
Cmbr.Enabled = True
Case Else
MsgBox("You must enter a colour choice from the third option box!")
End Select
If NumberOfZeros.length > 3 Then
NumberOfZeros.Remove(0, NumberOfZeros.Length - 3)
End If
End Sub
У меня есть подозрение, что если бы вы разместили больше контекста, мы могли бы заменить весь ваш сложный оператор CASE простым строковым выражением однострочного формата или, возможно, математическим вычислением для аргумента для перегрузки конструктора правых строк. Не могли бы вы обновить вопрос с помощью полного контекста и кода CASE? –
Конечно! Всего одна секунда. –