• 締切済み

javaでの正規表現

はじめまして。http://okwave.jp/qa4464441.htmlにて良回答を拝見し、相談したくメッセージをおくりました。 正規表現にて「今日の気温-3℃です。明日の気温-4℃です。」の文字列を、「温」と「℃」の間の数字の部分を抽出したいです。文字列は決まって温と℃の間にあります。できれば前質問と同じくコードで説明してくださるとありがたいです。 大変困っております。どうかご教授下さい。宜しくお願いします。

みんなの回答

  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.3

http://okwave.jp/qa4640675.html のついで。 補足されてからと思ったけどもう寝ますので。 import java.util.regex.*; public class OKWave{ public static void main(String[] args){ String pat = "(?<=温)-?\\d+(?=℃)"; String[] samples = { "今日は最高気温11℃、最低気温-1℃です", "最低気温-15℃でした。" }; Pattern p = Pattern.compile(pat); for(int i = 0; i < samples.length; i++){ Matcher m = p.matcher(samples[i]); while (m.find()) { System.out.println("取り出した気温は" + m.group() + "でした"); } } } }

すると、全ての回答が全文表示されます。
回答No.2

多言語を習得しているPGです。 javaでは以下のようなコードになると思います。 もしかしたら詳細が違うかもしれませんが、書きたいことは分かりますよね? String line = "今日の気温-3℃です。明日の気温-4℃です。"; String on = "温"; String do = "℃"; String ans = line.subString(line.indexOf(on), line.indexOf(do)); こんな感じで実行したらできるんじゃないでしょうか?

すると、全ての回答が全文表示されます。
  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.1

ひとつ前の http://okwave.jp/qa4640675.html とほぼ同じパターンてのはなにか元ネタがあるんですか?

maxnori
質問者

お礼

同サイトに二重投稿していたみたいです 汗; 申し訳ございません。 問題は解決されました。本当にありがとうございます コードを起点に正規表現に関して掘り進めて学習していきたいと思います。 また、滞った時などは、頼ることもあるかと思いますが、よろしくおねがいします。

すると、全ての回答が全文表示されます。

関連するQ&A