- ベストアンサー
正規表現での文字列変換について
- みんなの回答 (2)
- 専門家の回答
関連するQ&A
- 正規表現による文字列の抽出
$data = 'a b c<a href="x/y/z/hoge.jpg">hoge.jpg </a> …<A HREF = "aa/b/c/hoga.jpg">hoga.jpg</A>…'; 上記の文字列から正規表現で 『x/y/z/hoge.jpg』と『aa/b/c/hoga.jpg』を取り出して配列に格納しようと思っているのですがうまくいきません。 条件は 1.『<a href="』(大文字の場合、またはイコールの前後に半角スペースが含まれる場合もあります。)と『">』に囲まれています。 2.文字列中に何回登場するかは決まっておりません。 3.取り出す文字列の長さはきまっておりません。 以下のように書いてみたのですが…。書き方がわかりません。 どなたかご教授いただけないでしょうか。 よろしくお願いいたします。 while ($data =~ /<a\s[hH][rR][eE][fF].=.\".*?">/g){ push(@arr, $&); } foreach(@arr){print $_,"\n";}
- ベストアンサー
- Perl
- 正規表現 特定の文字列パターン以外を全部消したい
テキストエディタで"a1"~"h8"まで64種類以外の文字列を一括削除したいと考えています。 消したい文字列は「半角アルファベットaからh、半角数字1~8で構成される2文字ずつの組み合わせ」以外の全ての文字です。改行も消したいです。 (例) たとえば以下のような文字列を、 9. e6 10. e7 11. d7 12. g6 13. g5 14. c5 15. -- 16. c6 以下のようにしたいのです。 e6e7d7g6g5c5c6 正規表現の初心者です。どうぞよろしくお願いします。
- 締切済み
- オープンソース開発
- 一括文字列変換
$FORM{'color'} $FORM{'background'} $FORM{'name'} $FORM{'title'} $FORM{'comment'} 上記に文字列(例)「a」が入力された場合に「b」に変換したいのですが、一括で変換する場合は $val =~ s/a/b/g; とすればできます。 ただ、$FORM{'comment'}と$FORM{'title'}には変換を反映させたくないのですが、この場合はどのようにすればいいのでしょうか? $FORM{'color'} =~ s/a/b/g; $FORM{'background'} =~ s/a/b/g; $FORM{'name'} =~ s/a/b/g; と一つ一つ設定するしかないのでしょうか?変換したい文字列が莫大にありますので、出来れば一括でできれば助かります。よろしくお願いいたします。
- ベストアンサー
- Perl
- 文字の変換 (アルファベット)
文字の変換について教えてください 10進数の1は16進数で1、10はAになります。 ではアルファベットはどうなるんでしょうか? 以下の変換であっているでしょうか? a = c1 b = c2 c = c3 d = c4 e = c5 f = c6 g = c7 h = c8 i = c9 j = d1 k = d2 l = d3 m = d4 n = d5 o = d6 p = d7 q = d8 r = d9 s = e1 t = e2 u = e3 v = e4 w = e5 x = e6 y = e7 z = e8 上記の変換が16進数かどうかもわかりませんが、教えてください。 よろしくお願いします。
- ベストアンサー
- その他(プログラミング・開発)
- javaで文字変換したいんです。
たとえば "82 A0 82 A2 82 A4 41 42 43 82 A6 82 A8 " という文字列を "あいうABCえお"に変換したい場合どのようにすればいいのでしょう? 変換前の文字コードはS-JISとします。 変換前の文字列はStringに入っているものとします。 String str="82 A0 82 A2 82 A4 41 42 43 82 A6 82 A8 "; //こんな感じ java は初めてで困ってます。 Cなら何とかなるんですが・・・ どうかお知恵をお授けください。
- ベストアンサー
- Java
- 文字列から数字への変換
文字列から数字への変換にはatoiなどを使うと思うのですが これだと文字として0を変換すると アルファベットなどを変換した場合と 同じになってしまいますよね? 0も入力を受け付けてなおかつ文字列は受け付けないように するにはどのようにすればよいのでしょうか? アドバイス・回答よろしくお願いします
- ベストアンサー
- C・C++・C#
- perlの正規表現をCで・・
while($searchwords =~ /^(.).*/g) たとえばperlでこのような文があったとします。 Cでならwhile文おそらくperlでも同じと思いますが 条件が真の時にぐるぐる回ります。 この場合の条件が おそらく一文字目以降を切り取るということだと思います。 $searchwords =~ /^(.).*/gが成立している間?whileするということなのでしょうか? もし$searchwordsに12345678が入っているとすると 一文字ずつ横にずれていくと言うことでしょうか? perlで質問するべきだと思いましたが・・。 Cで書きたいのでどうしたらよいのかと質問しました。 $a =~ s/^(.)//; ならば 行の先頭文字を一個消してaに入れているということになるから char a[] = "123456789"; ならばa[9]になります。 だからa[0] = a[1]ってな感じで一個ずつずらせばいいんだと勝手に思っていますが while($searchwords =~ /^(.).*/g) の場合Cではどのように記述したら良いのでしょうか?あとこの式の意味もわかりやすく教えてください。 こんがらがってしまっている面が強いかもしれません。
- ベストアンサー
- C・C++・C#
- perlでの正規表現について
文字列のなかの"<タグ>(アルファベット1文字)"すべてに対して置換処理をさせたいのですがうまく動作しません。 現在はこう記述しております。 $str=~ s/(~<(.*?)>\w)/置換文字列/g; 良い方法があれば教えていただけると助かります。
- 締切済み
- Perl