用它據我所知,沒有這樣的庫中。
但是你可以使用此代碼來代替:
CODE
public class RegexText {
static int i=0;
public static void main(String[] args) {
String lines[]={"IBM_%.3r", "ID_%i","%dd/%mm/%yyyy","%dd%mm%yyyy_interface_%i_%i.log","ID_%i"};
for(String line: lines){
System.out.println(randomGenerate(line));
}
}
public static boolean matches(String line, String regex){
return line.matches(".*"+Pattern.quote(regex)+".*");
}
public static String randomGenerate(String line){
Date date=new Date();
int day=date.getDate();
int month=date.getMonth()+1;
int year=date.getYear()+1900;
while(matches(line, "%i"))
line=line.replaceFirst("%i",""+(i++));
while(matches(line, "%.3r"))
line=line.replaceFirst("%.3r",""+gen3DigitRand());
line=line.replaceAll("%dd",""+to2Digit(day));
line=line.replaceAll("%mm",""+to2Digit(month));
line=line.replaceAll("%yyyy",""+year);
return line;
}
public static int gen3DigitRand(){
int num=0;
while(String.valueOf(num).length()!=3)
num=(int) (Math.random()*1000);
return num;
}
public static String to2Digit(int num){
if(num<10)
return "0"+num;
return num+"";
}
}
輸出
IBM_904
ID_0
14/02/2014
14022014_interface_1_2.log
ID_3
沒有現成的庫來爲你做這個,我知道的。你試過什麼了?這些都是你希望能夠插入到字符串中的所有文物嗎?你試過什麼了? – Bex
我對這樣的圖書館的所有搜索都是徒勞的。其次,沒有那些只是我想要插入到字符串中的最重要的工件。可以有很多。而且,%i和%r等都是樣本轉換字符。我不介意有任何信件。 –