Ответ 1
temp = temp.Trim().Substring(0, temp.Length - 1)
или
temp = temp.Trim().Remove(temp.Length - 1)
Это мой код:
With ad.Tables(2)
For i As Integer = 0 To .Rows.Count - 1
If .Rows(i)("name") & "" <> "" Then
temp &= .Rows(i)("name") & ", "
End If
Next
End With
temp = temp.Trim(",")
testing &= "&Name=" & temp & vbCrLf
С этим получается запятая в конце строки. Но если я делаю
temp = temp.Trim.Trim(",")
все запятые удаляются.
Как сохранить все запятые и удалить только последний?
temp = temp.Trim().Substring(0, temp.Length - 1)
или
temp = temp.Trim().Remove(temp.Length - 1)
temp = temp.TrimEnd(CChar(","))
Это будет сделано, и я думаю, что это самый простой способ.
Вы можете избежать символа Trim/extra, если вы установите разделитель в цикле
Dim delimiter as string = ""
For i As Integer = 0 To .Rows.Count - 1
If .Rows(i)("name") & "" <> "" Then
temp &= delimiter & .Rows(i)("name")
delimiter = ","
End If
Next
Функция Trim()
имеет на ней параметр Char()
(статический массив символов), вам не нужно явно указывать Char
.
' VB.Net Version
", Hello ^_^ ^_^ ,,, , ,, ,, ,".Trim({" "c, ","c})
//C# version
", Hello ^_^ ^_^ ,,, , ,, ,, ,".Trim({' ', ','})
Произведет вывод
"Hello ^_^ ^_^"
Многопараметрический .Trim()
удаляет указанные символы как из начала, так и из конца строки. Если вы хотите только обрезать начало или конец, используйте .TrimStart()
или .TrimEnd()
соответственно.
Это работает:
dim AlarmStr as string="aaa , bbb , ccc , "
AlarmStr = AlarmStr.Remove(AlarmStr.LastIndexOf(","))
Проверьте, завершен ли цикл, перед добавлением последней запятой. #очиститель
While dr.Read
For c As Integer = 0 To dr.FieldCount - 1
s.Append(dr(c).ToString.Trim)
'This line checks if the loop is ending before adding a comma
If (c < dr.FieldCount - 1) Then s.Append(",")
Next
s.Append(vbCrLf)
End While
temp = temp.TrimEnd()
это обрезает конечные пробелы из строки.
Я знаю, что немного странно, но я нашел, что это работает для меня:
Visual Basic:
Каждый раз: mystring = "сегодня, я люблю выходить,," (менее пяти запятых и пробелов)
mystring.Trim.TrimEnd(",").Trim.TrimEnd(",").Trim.TrimEnd(",").Trim.TrimEnd(",").Trim.TrimEnd(",")