我正在寻找一个关于如何计算从DB返回的特定字符串中有多少新行的函数。
我见过使用JavaScript和PHP的函数,但VBScript没有。
我想首先检查字符串中是否有回车符(并计算它们),然后我想将它们替换为<br/>
标记。
我想我可以在vbCrLf上进行替换,如果找不到,那么可能不会造成任何伤害。但是,出于调试目的,我现在非常想得到计数,所以我知道它在做什么(如果它是我期待的那样)。
有关如何在VBScript中执行此操作的任何想法
答案 0 :(得分:4)
您可以尝试拆分字符串并查看数组的UBound:
'Split the stringfile into lines
arrLines = Split(strData,vbCrLf)
lineNb = UBound(arrLines)
代码改编自here
答案 1 :(得分:2)
如果您希望Count 和替换:
,请使用RegExp>> s = Join( Array( 1, 2, 3 ), vbCrLf )
>> Set r = New RegExp
>> r.Global = True
>> r.Pattern = vbCrLf
>> WScript.Echo r.Execute( s ).Count
>> WScript.Echo r.Replace( s, "<br />" )
>>
2
1<br />2<br />3
>>
答案 2 :(得分:1)
如果您要更换字符串并且只需要知道有多少替换,那么:
s = StringFromDB
l = Len(s)
s = Replace(s,vbCrLf,"<br/>")
MsgBox "Replaced: " & (Len(s)-l)/3
答案 3 :(得分:1)
一旦我读到新行,就可以使用字符:
import datetime
import matplotlib.pyplot as plt
from matplotlib.dates import AutoDateLocator, AutoDateFormatter, date2num
#make my own data:
date = '2016-02-23'
low = 10
#how to format dates:
date_datetime = datetime.datetime.strptime(date, '%Y-%m-%d')
int_date = date2num( date_datetime)
#create plots:
fig, ax = plt.subplots()
#plot data:
ax.bar(int_date,low, label="Minimum number of players", color="red")
#format date strings on xaxis:
locator = AutoDateLocator()
ax.xaxis.set_major_locator(locator)
ax.xaxis.set_major_formatter( AutoDateFormatter(locator) )
#adjust x limits and apply autoformatter fordisplay of dates
min_date = date2num( datetime.datetime.strptime('2016-02-16', '%Y-%m-%d') )
max_date = date2num( datetime.datetime.strptime('2016-02-28', '%Y-%m-%d') )
ax.set_xlim([min_date, max_date])
fig.autofmt_xdate()
#show plot:
plt.show()
它们与操作系统相关/特定:我所知道的 vbCrLf 仅适用于win系统平台,而其他适用于linux / unix / mac OS。
我认为对于使用vbNewLine而不是vbCrLf更通用的方法会更好,因为vbNewLine会根据需要适应正确的方式。
如果我错了,请纠正我,因为我不完全确定。 TNX