webForumDet fria alternativet

Trimma sträng

ASP

3 svar · 346 visningar · startad av trexter

Medlem sedan mars 20021 889 inlägg
Frågan#1

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?

:)

Medlem sedan juni 200032 967 inlägg
#2

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å?

Medlem sedan maj 200591 inlägg
#3

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)
Medlem sedan maj 200591 inlägg
#4

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
350 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
219 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
217 ms — ändringar (db)