webForumDet fria alternativet

Trimma bort citationstecken

ASP

4 svar · 623 visningar · startad av devotion

Medlem sedan jan. 20013 582 inlägg
Frågan#1

Hej,

Jag har följande funktion:


'Funktion som lägger uppdragsnumret före varje rad i exportfilen samt trimmar bort radbrytningar och tillåter endast 70 tecken per rad.
function ConvertString(sTaskNr, sText)
	dim sLength, sFirstChar, index
	dim a, n, k, r, str, re
	
	sLength = 70
	sFirstChar = 2
	
	n = array()
	k = 0
	r = 0
	index = 0
	str = sTaskNr & ";"
	
	set re = new regexp
	re.global = true
	re.pattern = "(?:<br>)+"
	sText = re.replace(sText, " ")
	set re = nothing
	
	sText = replace(sText, ";", "")
	
	a = split(sText)
	
	while index <= ubound(a)
		if sFirstChar + r + len(a(index)) > sLength then
			str = vbcrlf & sTaskNr & ";"
			r = 0
			sFirstChar = 2
		end if
		
		r = r + 1
		sFirstChar = sFirstChar + len(a(index))
		redim preserve n(k)
		n(k) = str & a(index)
		k = k + 1
		index = index + 1
		str = ""
	wend
	
	ConvertString = join(n)
	
end function

Hur modifierar man den att även trimma bort " , dvs byta ut citationstecken, mot tom sträng?

Mvh
Henrik

Medlem sedan juni 20019 519 inlägg
#2

Kör bara en vanlig Replace:
Replace(str, """", "")

Medlem sedan jan. 20013 582 inlägg
#3

voigtann1 skrev:

Kör bara en vanlig Replace:
Replace(str, """", "")

Aha, du gav mig ett uppslag :)

Men borde det inte vara så här då:

'Funktion som lägger uppdragsnumret före varje rad i exportfilen samt trimmar bort radbrytningar och tillåter endast 70 tecken per rad.
function ConvertString(sTaskNr, sText)
	dim sLength, sFirstChar, index
	dim a, n, k, r, str, re
	
	sLength = 70
	sFirstChar = 2
	
	n = array()
	k = 0
	r = 0
	index = 0
	str = sTaskNr & ";"
		
	set re = new regexp
	re.global = true
	re.pattern = "(?:<br>)+"
	sText = re.replace(sText, " ")
	set re = nothing
	
	'Ta bort semikolon
	sText = replace(sText, ";", "")
	'Ta bort citationstecken
	sText = replace(sText, """", "")
	
	a = split(sText)
	
	while index <= ubound(a)
		if sFirstChar + r + len(a(index)) > sLength then
			str = vbcrlf & sTaskNr & ";"
			r = 0
			sFirstChar = 2
		end if
		
		r = r + 1
		sFirstChar = sFirstChar + len(a(index))
		redim preserve n(k)
		n(k) = str & a(index)
		k = k + 1
		index = index + 1
		str = ""
	wend
	
	ConvertString = join(n)
	
end function

Dvs

'Ta bort citationstecken
sText = replace(sText, """", "")

Mvh
Henrik

:)
Medlem sedan juni 20019 519 inlägg
#4

ja, med str menar jag att det skall vara en sträng och jag tog för givet att du vet att Replace retunera en sträng.

Medlem sedan jan. 20013 582 inlägg
#5

voigtann1 skrev:

ja, med str menar jag att det skall vara en sträng och jag tog för givet att du vet att Replace retunera en sträng.

Jo, jag blev lite förvirrad, eftersom det finns en variabel som heter just 'str'

:)

Det funkar fint iaf... :bire

Mvh
Henrik

516 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
347 ms — hämta tråd, inlägg och bilagor (db)
165 ms — ändringar (db)