Var menar du att det blir fel? Inte i den koden du visat i alla fall.
Kan du inte bara kontrollera att du inte försöker göra något med en tom arrayplats? Eller ska man kunna skicka tomma rader mitt i texten också?
3 svar · 346 visningar · startad av trexter
Jag hämtar data från en textarea i stil med:
aaa
bbb
ccc
dd
Därefter splittar jag för att få en array:
arrRMA = Split(Trim(Request.Form("rma")),VBCrLf)
Dock blir det fel eftersom att det finns en radbrytning efter "dd" ibland och Trim tar tydligen inte bort den.
Enklaste sättet att fixa detta?
:)
Var menar du att det blir fel? Inte i den koden du visat i alla fall.
Kan du inte bara kontrollera att du inte försöker göra något med en tom arrayplats? Eller ska man kunna skicka tomma rader mitt i texten också?
Du får skriva en loop som går igenom texten och kollar om de två(!) sista tecknen är vbcrlf. Om så är fallet så gör du strängen två tecken kortare, ända tills sista tecknet inte är vbcrlf.
Alltså typ:
do while right(str,2)=vbcrlf
str=left(str,len(str)-2)
loop
Ska du ta bort radbrytningar i början använder du
do while left(str,2)=vbcrlf
str = mid(str,3)
loop
och om du ska ta bort en extra radbrytning i mitten
replace(str,vbcrlf&vbcrlf,vbcrlf)
Fast jag hade nog valt att ignorera de tomma strängarna från arrayen istället.
Antar att du använder din array i en foreach-loop eller liknande, är ju mycket lättare att lägga till en if-sats där. Alltså typ
for each rad in texten
if trim(rad)<>"" then
'gör vad du nu ska här
end if
next