Описание функции
RTrimChar
Удаляет указанные символы справа.
RTrimChar(String$ [, TrimChar$ = #CRLF$ + #TAB$ + #FF$ + #VT$ + " "] )
Параметры
String$ | Строка для обработки |
TrimChar$ |
Строка содержащая символы, которые будут удалены. Если не указано будут удалены пробельные символы (пробел, табуляция, переносы строк и т.д.) |
Возвращаемое значение
Возвращает изменённую строку или исходную если ничего не найдено. |
См. также
LTrimChar, TrimCharsToStringПример
EnableExplicit
; https://www.purebasic.fr/english/viewtopic.php?t=79183
Procedure.s RTrimChar(String$, TrimChar$ = #CRLF$ + #TAB$ + #FF$ + #VT$ + " ")
Protected Len2, Blen, i
Protected *memChar, *c.Character, *jc.Character
Len2 = Len(String$)
Blen = StringByteLength(String$)
If Not Asc(String$)
ProcedureReturn ""
EndIf
*c.Character = @String$ + Blen - SizeOf(Character)
*memChar = @TrimChar$
For i = Len2 To 1 Step - 1
*jc.Character = *memChar
While *jc\c
If *c\c = *jc\c
*c\c = 0
Break
EndIf
*jc + SizeOf(Character)
Wend
If *c\c
Break
EndIf
*c - SizeOf(Character)
Next
ProcedureReturn String$
EndProcedure
Define String$
String$ = "test" + #CRLF$ + #CRLF$ + #CRLF$ + #TAB$ + #FF$ + #VT$ + " "
Debug "|" + RTrimChar(String$) + "|"
String$ = "C:\folder" + "\/\/\/\/"
Debug "|" + RTrimChar(String$, "\/") + "|"
String$ = #CRLF$ + #CRLF$ + #CRLF$ + #TAB$ + #FF$ + #VT$ + " "
Debug "|" + RTrimChar(String$) + "|"