URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 1026
[ Назад ]

Исходное сообщение
"Обработка строк на перле "

Отправлено denb , 09-Окт-02 11:11 
Подскажите плиз, есть строка вида 2#Main..word1..word2.. , где .. - это спец символ(это не 2 точки а 1 символ) как получить из этой строки в перле такое:
$per1 =2(может быть не только двойка)
$per2 = #Main
$per3 = word1
$per4 = word2
$per5 = ..(спец символ)
и вообще что это за странный символ - .., в таблице ASCII я его не нашел.

Содержание

Сообщения в этом обсуждении
"RE: Обработка строк на перле "
Отправлено uldus , 09-Окт-02 12:50 
>Подскажите плиз, есть строка вида 2#Main..word1..word2.. , где .. - это

$a="2#Main..word1..word2";
$a =~ /^(\d+)([\#\d\w]+)([^\d\w])([\d\w]+)[^\d\w]([\d\w]+)/;
$per1 = $1; # 2(может быть не только двойка)
$per2 = $2; # Main
$per3 = $4; # word1
$per4 = $5; # word2
$per5 = $3; # (спец символ)


"RE: Обработка строк на перле "
Отправлено denb , 09-Окт-02 13:07 
>>Подскажите плиз, есть строка вида 2#Main..word1..word2.. , где .. - это
>
>$a="2#Main..word1..word2";
>$a =~ /^(\d+)([\#\d\w]+)([^\d\w])([\d\w]+)[^\d\w]([\d\w]+)/;
>$per1 = $1; # 2(может быть не только двойка)
>$per2 = $2; # Main
>$per3 = $4; # word1
>$per4 = $5; # word2
>$per5 = $3; # (спец символ)

Спасибо за решение, но хотелось бы узнать, что за символ такой .. и как например(в другой программе) присвоить переменной $tmp этот символ, откуда его взять?


"RE: Обработка строк на перле "
Отправлено uldus , 09-Окт-02 14:27 
>Спасибо за решение, но хотелось бы узнать, что за символ такой ..
>и как например(в другой программе) присвоить переменной $tmp этот символ, откуда
>его взять?

Посмотри документ в шестнадцатеричном виде в MidnightCommander или FAR.


"RE: Обработка строк на перле "
Отправлено denb , 09-Окт-02 14:42 
>>Спасибо за решение, но хотелось бы узнать, что за символ такой ..
>>и как например(в другой программе) присвоить переменной $tmp этот символ, откуда
>>его взять?
>
>Посмотри документ в шестнадцатеричном виде в MidnightCommander или FAR.

в шестнадцатеричном виде он представлен как 0х00 а отображается как 2 маленькие точки. Вопрос как создать строку имеющую вид: 1..word1..word2.., где единица может быть любым числом(неважно каким)


"RE: Обработка строк на перле "
Отправлено uldus , 09-Окт-02 17:09 
>точки. Вопрос как создать строку имеющую вид: 1..word1..word2.., где единица может
>быть любым числом(неважно каким)

$a=1
$b="word1";
$c="$a\0$b";
\0 - это и есть твой ".."


"RE: Обработка строк на перле "
Отправлено denb , 09-Окт-02 17:20 
>>точки. Вопрос как создать строку имеющую вид: 1..word1..word2.., где единица может
>>быть любым числом(неважно каким)
>
>$a=1
>$b="word1";
>$c="$a\0$b";
>\0 - это и есть твой ".."


Большое спасибо , помогло
только еще одна проблема возникла:

Строка имеет вид(например):
1hi5

или

с0hello

как вытащить из 1 строки единицу,
а из 2 - с0(это шестнадцеричное число),
т.е. задача в том, чтобы вытащить все числа(шестнадцеричные) до первой буквы

Прошу прощенья но в перле я пока полный ноль


"RE: Обработка строк на перле "
Отправлено uldus , 10-Окт-02 10:39 
>Строка имеет вид(например):
>1hi5 с0hello
>
>как вытащить из 1 строки единицу,
>а из 2 - с0(это шестнадцеричное число),
>т.е. задача в том, чтобы вытащить все числа(шестнадцеричные) до первой буквы

$a="1hi5";
$a =~ /^([\dabcdef][\dabcdef]?)/i;
$first_hex_num = $1;