in reply to Re^2: Extract delimited words from string
in thread Extract delimited words from string
Yes, Text::Balanced will work (and it is a core module since 5.7.3).
Code:
#!/usr/bin/env perl use strict; use warnings; use Text::Balanced qw/ extract_multiple extract_quotelike /; my @data = ( q{50 0 "R0 G255 B0 A255" "Solid" 118 1 "R0 G0 B0 A255" "R0 G0 B0 A255" + 0}, q{70 0 "R0 G255 B255 A255" "Solid" 118 1 "R12 G12 B12 A255" "R12 G12 B +12 A255" 0}, ); my @extracted; foreach my $str (@data) { @extracted = extract_multiple( $str, [ \&extract_quotelike, ], ); print q{Input: }, $str, qq{\n}; print q{Output: }, qq{\n}; print qq{\t}; print join qq{\n\t}, grep { !(m/^\s*$/) and length $_ > 0 } @extracted; print qq{\n}; }
Output:
Input: 50 0 "R0 G255 B0 A255" "Solid" 118 1 "R0 G0 B0 A255" "R0 G0 B0 + A255" 0 Output: 50 0 "R0 G255 B0 A255" "Solid" 118 1 "R0 G0 B0 A255" "R0 G0 B0 A255" 0 Input: 70 0 "R0 G255 B255 A255" "Solid" 118 1 "R12 G12 B12 A255" "R12 + G12 B12 A255" 0 Output: 70 0 "R0 G255 B255 A255" "Solid" 118 1 "R12 G12 B12 A255" "R12 G12 B12 A255" 0
Hope that helps.
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^4: Extract delimited words from string
by LanX (Saint) on Dec 08, 2022 at 21:20 UTC | |
by atcroft (Abbot) on Dec 09, 2022 at 00:36 UTC | |
by LanX (Saint) on Dec 09, 2022 at 02:24 UTC |