经典ASP——巩固一批年
Classic ASP - Consolidating A Group of Years
我目前使用的是 Classic ASP 内置的模板生成器。它从基本表单中获取值,并简单地 re-populates 具有这些值的模板,因此代码可以轻松复制并粘贴到 eBay、Amazon 等网站。它还会生成列表的标题。
今天特别感兴趣的类别是车轮。每个车轮都适合车辆的特定年限。有些轮子适合的年份范围如此之广,以至于标题只填满了年份,没有为其他年份留出任何空间。这是一个例子:
Dodge Ram 1500 2002 2003 2004 2005 2006 2007 2008 2009 Used OEM Wheel
所以为了解决这个问题,我编写了一些代码来为第一年和最后一年之间的每一年剃掉开头的“20”。所以它看起来像这样:
Dodge Ram 1500 2002 03 04 05 06 07 08 2009 Used OEM Wheel
这样可以去除足够多的额外字符,这样我就可以在 eBay 去除之前在标题中添加更多有用的信息。然而,现在的问题。在代码中,我使用一个简单的替换来删除任何 19XX 年或 20XX 年的前两位数字。这样做时,它还会删除 2019 年和 2020 年。显然,替换命令只是在完成它的工作,我知道 RegEx 有更好的方法,但我完全不熟悉语法。这是我的代码:
if len(r("item_y1")) > 4 then
startyear0 = split(r("item_y1"),"-")
startyear = int(startyear0(0))
stopyear = int(startyear0(1))
howmanyyears = stopyear - startyear
for i = 1 to howmanyyears
allyears = allyears & " " & (startyear + i)
next
yearspan = stopyear-startyear
if yearspan > 4 then
allyears = replace(allyears,"19","")
allyears = replace(allyears,"20","")
allyears = Mid(allyears, 1, len(allyears) - 2)
fullyears = startyear & allyears & stopyear
else
fullyears = startyear & allyears
end if
end if
“item_y1”值为年份跨度,采集为:2005-2010
如果能帮助我走上正确的道路,我们将不胜感激!谢谢!
您可以尝试使用这样的函数来格式化年份值,而不是使用 Replace()
。
Function FormatYears(years)
Dim result: result = years
Dim data: data = Split(years, "-")
If IsArray(data) Then
result = Right(data(0), 2) & "-" & Right(data(1), 2)
End If
FormatYears = result
End Function
WScript.Echo FormatYears("1999-2000")
输出:
99-00
我目前使用的是 Classic ASP 内置的模板生成器。它从基本表单中获取值,并简单地 re-populates 具有这些值的模板,因此代码可以轻松复制并粘贴到 eBay、Amazon 等网站。它还会生成列表的标题。
今天特别感兴趣的类别是车轮。每个车轮都适合车辆的特定年限。有些轮子适合的年份范围如此之广,以至于标题只填满了年份,没有为其他年份留出任何空间。这是一个例子:
Dodge Ram 1500 2002 2003 2004 2005 2006 2007 2008 2009 Used OEM Wheel
所以为了解决这个问题,我编写了一些代码来为第一年和最后一年之间的每一年剃掉开头的“20”。所以它看起来像这样:
Dodge Ram 1500 2002 03 04 05 06 07 08 2009 Used OEM Wheel
这样可以去除足够多的额外字符,这样我就可以在 eBay 去除之前在标题中添加更多有用的信息。然而,现在的问题。在代码中,我使用一个简单的替换来删除任何 19XX 年或 20XX 年的前两位数字。这样做时,它还会删除 2019 年和 2020 年。显然,替换命令只是在完成它的工作,我知道 RegEx 有更好的方法,但我完全不熟悉语法。这是我的代码:
if len(r("item_y1")) > 4 then
startyear0 = split(r("item_y1"),"-")
startyear = int(startyear0(0))
stopyear = int(startyear0(1))
howmanyyears = stopyear - startyear
for i = 1 to howmanyyears
allyears = allyears & " " & (startyear + i)
next
yearspan = stopyear-startyear
if yearspan > 4 then
allyears = replace(allyears,"19","")
allyears = replace(allyears,"20","")
allyears = Mid(allyears, 1, len(allyears) - 2)
fullyears = startyear & allyears & stopyear
else
fullyears = startyear & allyears
end if
end if
“item_y1”值为年份跨度,采集为:2005-2010
如果能帮助我走上正确的道路,我们将不胜感激!谢谢!
您可以尝试使用这样的函数来格式化年份值,而不是使用 Replace()
。
Function FormatYears(years)
Dim result: result = years
Dim data: data = Split(years, "-")
If IsArray(data) Then
result = Right(data(0), 2) & "-" & Right(data(1), 2)
End If
FormatYears = result
End Function
WScript.Echo FormatYears("1999-2000")
输出:
99-00