テキストファイルからOracleバージョン番号を抽出します。 私のテキストファイルのデータ: -出力ファイルから特定のOracleバージョン番号を抽出する方法
Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
PL/SQL Release 11.2.0.2.0 - Production
CORE 11.2.0.2.0 Production
TNS for 64-bit Windows: Version 11.2.0.2.0 - Production
NLSRTL Version 11.2.0.2.0 - Production
Done processing file
ので、私はここにしたいことがちょうどOracleのメジャーバージョン(例: - 11.2.0.2.0 - > 11)である
が、私は、コードを作業が、いずれかを知ってほしいしていますこれまたは任意のRegExに対する他の最良のアプローチ。
EZFileReader reader = new EZFileReader(output_file);
if (reader.hasMoreLines())
{
String version_line = reader.readNextLine().trim();
if (version_line != null)
{
String[] release = version_line.split(" ");
if (release.length > 0)
{
String[] version = release[6].split("\\.");
if (version[0] != null)
{
version_value = Integer.parseInt(version[0]);
}
}
}
}
正規表現は、文字列内のエスケープ文字として '\\'必要があります。 'reader.readNextLine()'は 'reader.hasMoreLines()'なら 'null'にすべきではなく、それが' .trim() 'ならばチェックに入る前にエラーになります。それ以外は、私の答えはほぼ同じです。 – MT0
はい、そうです。今修正されました。 – mariuszs80
正規表現に '\ .'がまだあります。 – MT0