Potrebujem rozdeliť jednu premennú na 3 premenné. Napríklad mám premennú nazvanú Data
a obsahuje AAA00000001. Musím ich rozdeliť medzi „AAA“, „0000000“ a „1“. Pozrel som sa na Split()
funkcie, ale nedostal jasný príklad pre túto situáciu. Dôvod, prečo to musím urobiť, je ten, že chcem uložiť tieto 3 premenné do polí pre databázu MySQL.
odpovede:
1 pre odpoveď č. 1Za predpokladu, že reťazec je VŽDY PRESNEJ rovnakej dĺžky a musí byť rozdelený na mieste SAME, môžete použiť Substring()
.
dim s as String = "AAA00000001"
dim s1 as String = s.Substring(0, 3)
dim s2 as String = s.Substring(3, 7)
dim s3 as String = s.Substring(10)
Ak nie sú vždy rovnako dlhé, pravdepodobne budete musieť použiť regulárne výrazy.
2 pre odpoveď č. 2
Sú tri subvariable vždy rovnaké dĺžka?
Ak áno, môžete použiť podreťazcov:
Dim substring1 As String = Data.Substring(0, 3)
Dim substring2 As String = Data.Substring(3, 7)
Dim substring3 As String = Data.Substring(10, 1)
1 pre odpoveď č. 3
Split
rozbije reťazec od seba podľa postavy alebo skupiny. Nie je to tu vhodné, pokiaľ nie, vždy sa delíte 0000000
, o čom pochybujem.
Ak viete, že prvé 3 znaky budú vždy vaša prvá skupina, druhá 7 vaša nasledujúca a posledná postava, vaša konečná skupina, mohli by ste niečo urobiť.
Toto používa Substring
funkcia, napr.
Dim yourString as String = "AAA00000001"
Dim c1 As String = yourString.Substring(0, 3)
Dim c2 As String = yourString.Substring(3, 7)
Dim c3 As String = yourString.Substring(10, 1)