Я использую TrimEnd для удаления определенных символов из конца строки.Первоначально я думал, что это будет работать:
Dim strNew As String = "Employees\Sickness Entitlement.rpt"
Dim strTrim As String = "Sickness Entitlement.rpt"
Console.WriteLine(strNew.TrimEnd(strTrim)) '<- Doesn't work
Но TrimEnd работает только для массива символов или отдельной строки символов, поэтому я попытался это сделать:добавьте в косую черту:
Dim strNew As String = "Employees\Sickness Entitlement.rpt"
Dim strTrim As String = "\Sickness Entitlement.rpt"
Dim arrChars As Char()
ReDim arrChars(strTrim.Length)
For i As Integer = 0 To strTrim.Length - 1
arrChars(i) = strTrim.Substring(i, 1)
Next
Console.WriteLine(strNew.TrimEnd(arrChars)) '<- Employ
Это теперь выводит: Employ
Это как-то задумано?Это кажется странным для меня.Решение моей проблемы - сделать что-то вроде:
If strNew.EndsWith(strTrim) Then
Console.WriteLine(strNew.Substring(0, strNew.LastIndexOf(strTrim)))
End If
Что проще и работает, но что происходит выше?