- 締切済み
【Perl】特定文字列の抽出方法が分かりません。
$aに以下のように、 SNから始まる不規則な桁の半角数字 + 半角スペース + 半角の不規則な桁の英数字 が代入されているとして、 $a = "SN0123456789012345 Aabc1ef"; $bに、半角スペースより前の文字列(SN0123456789012345)のみを 代入するにはどのようなソースにするといいのでしょうか? 御教授お願いします。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- SHOO-3
- ベストアンサー率56% (28/50)
回答No.4
あ、間違い substr($temp, 0, index($temp, ' ')); じゃなくて、 substr($a, 0, index($a, ' ')); だった。 ちなみに、正規表現を使わない分高速(だけどけたが小さければさほど差はない)
- SHOO-3
- ベストアンサー率56% (28/50)
回答No.3
my $a= "SN0123456789012345 Aabc1ef"; $b = substr($temp, 0, index($temp, ' ')); substr で文字列$aを、0個目からindexで探したスペースのあるところ(長さ)までを切り出し、$bに代入しています。
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
回答No.2
$b = (split / /, $a)[0];
質問者
お礼
おかげさまで解決しました。 回答をありがとうございました。
- Tacosan
- ベストアンサー率23% (3656/15482)
回答No.1
($b) = ($a =~ /^(\S*)\s/);
質問者
お礼
おかげさまで解決しました。 回答をありがとうございました。
お礼
おかげさまで解決しました。 御丁寧且つ効率の良い内容での回答をありがとうございました。