Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   AutoIt (http://forum.oszone.net/forumdisplay.php?f=103)
-   -   [решено] Превратить строку в масив (http://forum.oszone.net/showthread.php?t=163954)

Fraks 19-01-2010 10:22 1324055

Превратить строку в масив
 
Мне надо превратить строку в масив и провести над ним определеныеоперации, но вместо того. чтоб превратить, оно выводит число. Вот кусок код:
Цитата:

$text = GUICtrlRead($field)
Dim $array[StringLen($text)+1]
$i = 0
Do
$a = $array[$i] = StringMid($text,$i,1)
$b = _second_digit_line($a)
$c =1 & $b
$i = $i +1
Until $i = StringLen($text)+1
MsgBox(0,'',$c)

madmasles 19-01-2010 10:37 1324068

Fraks,

У меня таким образом это получилось сделать:

Код:

#include <Array.au3>

$string = "Мне надо превратить строку в массив и провести над ним определеные операции."
$sTitle = "Моя строка"
$avArray = StringSplit($string, " ")
_ArrayDisplay($avArray, $sTitle)


Fraks 19-01-2010 11:07 1324095

Спасибо, но этот способ не подходит для моего случая. Моя строка-это слово, и мне это слово надо разделить на буквы, каждая из которых будет в отдельной ячейке массива

madmasles 19-01-2010 11:47 1324141

Если по буквам, то так:

Код:

#include <Array.au3>

$string = "Мне надо превратить строку в массив и провести над ним определеные операции."
$sTitle = "Моя строка"
$avArray = StringSplit($string, "")
_ArrayDisplay($avArray, $sTitle)

PS
Из русской справке по функции StringSplit
Цитата:

Замечания

Если в качестве разделителя использовать пустую строку "", то в массив помещается каждый символ строки.

semiono 20-01-2010 01:15 1324755

(2):31,00,32,00,33,00,34,00,35,00,36,00,37,00,38,00,39,00,61,\
пробел 00,62,00,63,00,64,00,65,00,66,00,67,00,68,00,69,00,6a,00,6b,00,6c,00,6d,00,\
пробел 6e,00,6f,00,70,00,71,00,72,00,73,00,74,00,75,00,76,00,77,00,78,00,79,00,7a,\
пробел 00,00,00

а нельзя такой массив сохранить в памяти? http://forum.oszone.ru/post-1324639-2.html

---
я проверил ваш пример, однако у меня нечто другое.... мне надо просто сохранить как есть, наоборот без модификации
Но номера строк тут тоже не подходят, так как я не знаю позицию контента заранее...

madmasles 20-01-2010 01:53 1324771

semiono,
Мне кажется, тут надо надо найти точный символ начала (в Вашем примере это, похоже =hex) и, также точно найти символ конца (у Вас это вроде @CRLF "New Value, потом StringRegExpReplace.
Может быть я не прав, гуру поправят.

Или наоборот, точно обозначить в "pattern" то, что надо оставить.

PS
Где -то на форумах была функция от CreatoR, котрая извлекала в массив IP адреса. Наверное, можно аналогично. Если не найдете ее, то я могу у себя ее поискать. я ее точно куда-то положил.

semiono 20-01-2010 02:17 1324777

Ага, я знаю, но по регэксп - это гуру нужен! :)
И меня волнует можно ли такой кусок сохранить как переменную, чтоб потом это всё вписалось в нью файл как и было


Время: 17:02.

Время: 17:02.
© OSzone.net 2001-