我有一个包含很多两对字符串的文件,即一个双语文件。在某些条目中,目标字符串在“:”
之后不包含等于src的空格数E.g。
src= Job %1$s: Bad record length at tape record number / block number: %2$s adddd: %3$s
tgt= Travail %1$s : longueur d'enregistrement incorrecte dans le numéro d'enregistrement / de bloc :%2$s de la bande adddd: %3$s.
我需要:%2$s
为: %2$s
任何想法?
答案 0 :(得分:1)
试试这个: -
src = src.replaceAll(":%", ": %")
答案 1 :(得分:1)
这应该让你开始:
import java.util.regex.*;
public class Test {
public static void main(String[] args) {
String src = "abc : def"; // two spaces after colon.
String tgt = "ghi : jkl"; // three spaces after colon.
Pattern spaces = Pattern.compile("([^:]*:)(\\s*)(.*)");
Matcher mSrc = spaces.matcher(src);
Matcher mTgt = spaces.matcher(tgt);
mSrc.matches();
mTgt.matches();
System.out.println("Spaces in src: " + mSrc.group(2).length());
System.out.println("Spaces in tgt: " + mTgt.group(2).length());
System.out.println("Target with src's number of spaces: " +
mTgt.group(1) + mSrc.group(2) + mTgt.group(3));
}
}
打印:
Spaces in src: 2
Spaces in tgt: 3
Target with src's number of spaces: ghi : jkl