Что нового

Разделить строку на массив?

S

sh01u

Гость
Здравствуйте, как разделить строку чтобы получился такой массив?


Код:
$str = "C:\Program Files (x86)\Windows NT"

$array[0] = "C:"
$array[1] = "C:\Program Files (x86)"
$array[2] = "C:\Program Files (x86)\Windows NT"
 
Автор
S

sh01u

Гость
Код:
#include <Array.au3>

Global $aRes[0], $aRes2[0]

$string = "C:\Program Files (x86)\Windows NT"
$array = StringSplit($string, "\")
$str = ""

For $i = 2 To $array[0]+1

		$str &= $array[$i - 1] & "\"

		_ArrayAdd($aRes,$str)

Next


_ArrayDisplay($aRes)


Как теперь удалить "\" в конце строки, можно сделать с помощью второго цикла, хотелось бы обойтись без него.

Код:
For $j = 0 To UBound($aRes) - 1

	If $j <> 0 Then

		_ArrayAdd($aRes2,StringTrimRight($aRes[$j], 1))

	Else
		_ArrayAdd($aRes2, $aRes[$j])

	EndIf

Next
 

InnI

AutoIT Гуру
Сообщения
4,922
Репутация
1,432
sh01u [?]
разделить строку чтобы получился такой массив
Код:
$str = "C:\Program Files (x86)\Windows NT\accessories\ru-RU\"
If StringRight($str, 1) = "\" Then $str = StringTrimRight($str, 1)

StringReplace($str, "\", "")
Dim $arr[@extended + 1]
For $i = 1 To UBound($arr) - 1
  $arr[$i - 1] = StringLeft($str, StringInStr($str, "\", 0, $i) - 1)
Next
$arr[UBound($arr) - 1] = $str

#include <Array.au3>
_ArrayDisplay($arr)


удалить "\" в конце строки
См. строку №2
 
Верх