• ベストアンサー

perl での文字列トリミング

m1091757253の回答

  • ベストアンサー
回答No.1

echo "http://okwave.jp/question/new/index.html?abcdefg" |perl -ne 's/^.*:\/\/.[^\/]+//;s/\?.*$//;print'

mocomoco8888
質問者

お礼

ありがとうございました。手持ちのプログラムに記述してみましたが、エラーが出てしまいました。 よろしければどの部分が何をしているのか、説明をしていただけますでしょうか。

mocomoco8888
質問者

補足

すみません、自己解決しました。ありがとうございました。

関連するQ&A

  • perlやスクリプトについて

    perlやスクリプトについて 携帯用にHPのURLをPCから送れるようにしたいのですがそのためのperlやスクリプトの記述がよく分かりません。 自分なりに調べては見たのですが今一よく分かりません。 http://www.futomi.com/lecture/form/index.html 何方か詳しい方がいた場合はご指導下さい。

    • ベストアンサー
    • Perl
  • Perlのパス

    レンタルサーバーのCGIの説明で、「1.perl のパスは、/usr/bin/perl です。2.プログラムの先頭の記述は必ず、#!/usr/bin/perl となります。」って書いてあるんですけど、これを使用する場合、 http://www.kent-web.com/data/cart.html たぶん、admin.cgi , cart.cgi , order.cgi を エディタ で開いて以下の箇所をあたまの部分、#!/usr/bin/perl を変えればいいんですかね?それで1.の/usr/bin/perl は何処に書くのかな?それとも説明 の前置きですかね?「1.perl のパスは、」という意味はリンクがこうなるよ!って意味ですかね? ただま、KENT WEBみながら苦戦してます。 シロウトですいません。

    • ベストアンサー
    • Perl
  • perlの自動リンクについてです。

    URLのオートリンクで、どうしても解らない箇所があります。 $com =~s/([^=^\"]|^)(http\:[\w\.\~\-\/\?\&\+\=\:\@\%\;\#]+)/$1<a href=\"$2\" \">$2<\/a>/g; たとえば、$comに   "自動リンクhttp://okwave.jp/question/new?questionてすと" と入っていたらこの$1にはなにが入るのですか? $2はなんとか理解できたのですが、、 ([^=^\"]|^)  これは何をしているのですか??

  • 文字列から、ある文字をマッチさせるには

    こんにちは。いつもお世話になります。 PHPで下記のような文を、CGI (peal)では、どうしたらいいでしょうか。 map=asakusa.php の「asakusa」の部分だけをマッチさせる方法です。 $url = "http://xxx.jp/shop/index.php?map=asakusa.php" $map= explode("?", $url); if($map[0] == "asakusa"){ $map_name = "浅草マップ"; } よろしくお願いします。

    • ベストアンサー
    • Perl
  • excelのハイパーリンクの文字が化ける

    excel のセルに、urlアドレスを入力し、ハイパーリンクをつけています。 そのハイパーリンクをクリックして、ブラウザでみると、URLの一部が文字化けして、該当ページはありません、という表示がでてしまいます。 URLの文字列には、#が入っており、 ブラウザのアドレスをみると、「#」が、「%20-%20」 に変わってしまっています。 たとえば、下記のようなアドレスの形です。 アドレス例:http://okwave.jp/question/index#001 (エクセルのセル)   →http://okwave.jp/question/index%20-%20001 (ブラウザのアドレスバー) microsoft office2010 で、InternetExplore 11 を使用しています。 解消方法をお分かりになる方がいらっしゃいましたら、ご教授ください。 宜しくお願いいたします。

  • パラメーター付きのURLをリダイレクトしたい

    お世話になります .htaccess でリダイレクトを行いたいのですが、パラメータ付きのURLの為かリダイレクトができません。 .htaccess内の記述↓ redirect 301 /aaa/bbb.php?N=1 http://www.aaa.com/index.html 「?=N1」の部分を取れば問題なくリダイレクトします パラメータ付きのURLはリダイレクト可能でしょうか? よろしくお願いいたします

  • ランダム(不規則)な文字列の置換えについて

    初めて投稿させていただきます。 文字列置換について、色々と調べたのですが全く解決しなかったのでこの場を借りてご質問させて頂きます。 早速ですが記述から記載させて頂きます。 $str = file_get_contents('http://example.com/'); $replaced = str_replace("index.php?ref=123abc", "index.php?ref=456def", $str); echo $replaced; このように一定の文字列に対しては置換ができたのですが、 index.php?ref=123abc の箇所が index.php?ref=123abc&PHPSESSID=qazwsxedcrfvtgbyhnujmikolpqazwsx のようにPHPSESSIDのセッションID(毎回変わるランダムな32桁の文字列)が付いてきた場合に index.php?ref=456def に置換える方法がわかりません。 &PHPSESSIDの文字列の先頭部分から右に43文字目※(&PHPSESSID=の所で11文字)+(IDの所で32文字)※までを index.php?ref=456def に置き換える方法や 初めからPHPSESSIDのセッションIDの部分を表示させない方法など ここ数週間色々考えてみましたがどうしてもわかりませんでした。 PHP初心者ですので、なるべくわかりやすく教えて頂けると幸いです。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • 難問?Perlの文字列置換について

    下記のプログラムをベースにして置換を行いたいです。 use File::Basename; use File::Copy; use File::Find; use File::Path; my @filelist = (); $inputfile='C:\Users\test.txt'; $outputfile='C:\Users\test_new.txt'; open (IN, $inputfile) or die "$!"; open (OUT, ">$outputfile") or die "$!"; while(<IN>) { $str = $_; if ($str =~ / ・・・・・ ・・・・・ } print OUT $str; } close (IN); close(OUT); sub wanted{ push(@filelist, $File::Find::dir."/$_") unless ($_ =~ /^\.$/); } Perlプログラムで下記の2つのソースを一括置換しようとしてます。 (1) paramIdとparamNameの文字列が同一の場合 <html:link styleClass="push" action="/numa.do" paramId="Id" paramName="Id" onclick="URL">ソース</html:link> (2) paramIdとparamNameの文字列が同一でない場合 <html:link styleClass="push" action="/numa.do" paramId="Id" paramName="Name" onclick="URL">ソース</html:link> やりたいことは ・ html:linkをs:aに変換 ・ styleClassをcssClassに変換(これはわかるのですが位置の修正がわかりません。。) ・ action="/numa.do"を/numaに変換 ・ paramIdとparamNameを文字列が同一か同一でないかで分岐処理したい。 目標は以下のように置換したいです。 (1) paramIdとparamNameの文字列が同一の場合 <s:a href="/numa?Id="%{ Id }" cssClass="push" onclick="URL">ソース</s:a> (2) paramIdとparamNameの文字列が同一でない場合 <s:a href="numa" paramId="Id" paramName="Name" cssClass="push" onclick="URL">ソース</s:a> どうしてもこの置換ができません、、誰かぜひ教えてください。 お願い致します。

    • ベストアンサー
    • Perl
  • Outlook2003で改行すると必ず先頭文字が大文字になってしまう

    SONY VAIOデスクトップ型を使用しています。Windows XP, Microsoft Outlook2003で英文メールを書くと、改行した時に、先頭文字が必ず自動的に大文字に変わってしまいます。ツール→オプションから、「オートコレクトのオプション」で、「文の先頭文字を大文字にする」のチェックをはずしても直りません。下記のURLに載っていた回答を試してみたいのですが、どうしても、「オートコンプリートの訂正を手動修正する・・・」という部分から、「行頭を大文字にする」という項目へたどり着けません。オートコンプリートの出し方から、「行頭を大文字にする」のチェックをはずす方法までのやり方を教えてください。 http://sea-mew.jp/nox/modules/popnupblog/index.php?param=1-200501&vote=1 のくす牧場・・・2005年1月13日(木) 「オートコンプリートの(余計な)訂正を手動修正した直後に、その部分の左下に青い小さな四角が表示され、この四角をクリックすると、オートコンプリートの設定窓が開きました。この設定で、「行頭を大文字にする」という項目のチェックをはずすと、自動的に大文字に変換する機能は動かなくなり、代わりに文法エラーの緑2重波線が表示されるようになりました。」

  • 文字化け

    質問させて頂きます。 下記URLなのですがトップページが文字化けしておりブラウザの 表示→エンコード→日本語(ECU-JP)にすると正常に表示されます。 しかしページ更新や改めてアクセスするとやはり表示がおかしくなっています ソースの記述に問題があるのでしょうか?あるとすれば具体的にどの部分が 問題あるのでしょうか? 宜しくお願い致します http://www.eonet.ne.jp/~ei-famfam/index.htm