Как удалить «1» из строки, если это последний символ, используя vbscript - PullRequest
3 голосов
/ 11 сентября 2011

У меня есть код ниже в VBSCript:

Function getFacilitiesNotes(objComp)
            Dim strFacilities
            strFacilities = strFacilities & "<div id =""facilities"">"
            strFacilities = strFacilities & "<ul>"
            For intCount = 1 to objComp.Fields.Item("Facilities").Value.Count
            strFacilities = strFacilities & "<li>" & objComp.Fields.Item("Facilities").value(intCount) & "</li>"
            Next
            strFacilities = strFacilities & "</ul>"
            strFacilities = strFacilities & "</div>"
            getFacilitiesNotes = strFacilities
End Function

В приведенной выше функции код strFacilities = strFacilities & "<li>" & objComp.Fields.Item("Facilities").value(intCount) & "</li>" может иметь значения ниже указанного типа при выполнении цикла.

1) Азбука 2) DFG1 3) G231EG 4) REWEREW1 5) DSFWRE3 6) YRTRWER1

Теперь я хочу удалить «1», если это последний символ в приведенных выше строках, пока он находится в цикле.

Пожалуйста, предложите !!

Ответы [ 2 ]

8 голосов
/ 11 сентября 2011

Как насчет

Function truncate_one(s)
  If Right(s, 1) = "1" Then 
    truncate_one = Left(s, Len(s) - 1) 
  Else 
    truncate_one = s
  End If
End Function
1 голос
/ 27 июля 2012

Способ 1)
Чтобы сделать это встроенным, измените основной код следующим образом:

...  
    For intCount = 1 to objComp.Fields.Item("Facilities").Value.Count  
        s = objComp.Fields.Item("Facilities").value(intCount)  
        strFacilities = strFacilities & "<li>" & Left(s,Len(s)-1) & Replace(s,"1","",Len(s)) & "</li>"  
    Next  
...  

Метод 2)
Для этого в функции ...
Вот функция:

Function RemoveTrailing1(s)  
    RemoveTrailing1 = Left(s, Len(s) - 1) & Replace(s, "1", "", Len(s))  
End Function  

И измените основной код следующим образом:

...  
    For intCount = 1 to objComp.Fields.Item("Facilities").Value.Count  
        strFacilities = strFacilities & "<li>" & RemoveTrailing1(objComp.Fields.Item("Facilities").value(intCount)) & "</li>"  
    Next  
...  

В любом из этих решений, если ".value ()" может вернуть пустую строку ("") или "Null", то вам, возможно, придется проверить эти случаи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...