YuAokiの日記: OROをつかってみたり
日記 by
YuAoki
比較のために。効率悪そう。
package net.bakingpowder.common;
import java.io.*;
import java.util.regex.*;
import org.apache.oro.text.perl.*;
import org.apache.oro.text.regex.*;
public class TestFileStreamEx {
public String stringRead(String filename){
String data = "";
FileReader fr = null;
// FileReaderクラス生成
try {
fr = new FileReader(filename);
int i;
while ((i = fr.read()) != -1) {
data = data + (char)i;
}
} catch (FileNotFoundException e) {
// TODO 自動生成された catch ブロック
e.printStackTrace();
} catch (IOException e) {
// TODO 自動生成された catch ブロック
e.printStackTrace();
}
return data;
}
public String replaceAll(String source,String pre,String after)
{
java.util.regex.Pattern pattern = java.util.regex.Pattern.compile(pre);
Matcher matcher = pattern.matcher(source);
return matcher.replaceAll(after);
}
public String replaceHeading(String source,String delimiter,String Tag,String CloseTag)
{
Perl5Util util = new Perl5Util();
String str1;
PatternMatcherInput input = new PatternMatcherInput(source);
while (util.match("/" + delimiter + "/", input)) {
source = util.substitute("s/" + delimiter + "(\\w+)\r\n/TEMP0000001$1TEMP0000002\r\n/g",source);
}
source = new TestFileStreamEx().replaceAll(source,"TEMP0000001",Tag);
str1 = new TestFileStreamEx().replaceAll(source,"TEMP0000002",CloseTag);
return str1;
}
public String replaceCommon(String str)
{
str = new TestFileStreamEx().replaceHeading(str,"===","<h4>","</h4>");
str = new TestFileStreamEx().replaceHeading(str,"==","<h3>","</h3>");
str = new TestFileStreamEx().replaceHeading(str,"=","<h2>","</h2>");
str = new TestFileStreamEx().replaceAll(str,"\r\n","<br>");
return str;
}
public static void main(String args[]) {
String str= new TestFileStreamEx().stringRead("text.txt");
str = new TestFileStreamEx().replaceCommon(str);
System.out.println(str);
}
}
package net.bakingpowder.common;
import java.io.*;
import java.util.regex.*;
import org.apache.oro.text.perl.*;
import org.apache.oro.text.regex.*;
public class TestFileStreamEx {
public String stringRead(String filename){
String data = "";
FileReader fr = null;
// FileReaderクラス生成
try {
fr = new FileReader(filename);
int i;
while ((i = fr.read()) != -1) {
data = data + (char)i;
}
} catch (FileNotFoundException e) {
// TODO 自動生成された catch ブロック
e.printStackTrace();
} catch (IOException e) {
// TODO 自動生成された catch ブロック
e.printStackTrace();
}
return data;
}
public String replaceAll(String source,String pre,String after)
{
java.util.regex.Pattern pattern = java.util.regex.Pattern.compile(pre);
Matcher matcher = pattern.matcher(source);
return matcher.replaceAll(after);
}
public String replaceHeading(String source,String delimiter,String Tag,String CloseTag)
{
Perl5Util util = new Perl5Util();
String str1;
PatternMatcherInput input = new PatternMatcherInput(source);
while (util.match("/" + delimiter + "/", input)) {
source = util.substitute("s/" + delimiter + "(\\w+)\r\n/TEMP0000001$1TEMP0000002\r\n/g",source);
}
source = new TestFileStreamEx().replaceAll(source,"TEMP0000001",Tag);
str1 = new TestFileStreamEx().replaceAll(source,"TEMP0000002",CloseTag);
return str1;
}
public String replaceCommon(String str)
{
str = new TestFileStreamEx().replaceHeading(str,"===","<h4>","</h4>");
str = new TestFileStreamEx().replaceHeading(str,"==","<h3>","</h3>");
str = new TestFileStreamEx().replaceHeading(str,"=","<h2>","</h2>");
str = new TestFileStreamEx().replaceAll(str,"\r\n","<br>");
return str;
}
public static void main(String args[]) {
String str= new TestFileStreamEx().stringRead("text.txt");
str = new TestFileStreamEx().replaceCommon(str);
System.out.println(str);
}
}
OROをつかってみたり More ログイン