2016-11-07 7 views
-1

Может ли кто-нибудь помочь мне извлечь строку между тире (-) и точкой (.) По последнему URL-адресу в ASP classic?Как извлечь строку между тире (-) и точкой (.) В asp classic

Например:

mypizza.com/this-is-my-special-6-pizza-this-week-3256.html 

Как извлечь значение 3256?
PS: Есть много тире и некоторые цифры отображаются в URL-адресе.

ответ

0

Решенный! я нашел ответ:

Dim n, strPost 
dashCount = len(urlPost)-len(replace(urlPost,"-","")) 
n=dashCount 
thisURL=split(urlPost,"-") 
strPost=replace(thisURL(n),".html","") 
response.write(strPost) 
1

Это работает, если вы, безусловно, есть тире перед номером. Если вы могли бы иметь/перед номером, добавьте еще одну замену для/в -.

dim s, aSplit 
s = "mypizza.com/this-is-my-special-6-pizza-this-week-3256.html" 
s = replace(s, ".", "-") ' replace any dots with dashes 

aSplit = split(s, "-") ' break s into an array, splitting at dashes. Note it is a zero-based array. 

dim sOut 
sOut = aSplit(ubound(aSplit) - 1) ' get the penultimate entry in the array 
+1

В VBScript нет len для массивов. Используйте UBound() для получения последнего индекса и вычитайте 1 для получения предпоследнего элемента. –

+0

Спасибо @ Ekkehard.Horner, исправил неправильное использование len и точность предпоследнего выбора. –