Описание функции


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$) + "|"