Java 使空格在两个字符串中匹配

Java 使空格在两个字符串中匹配,java,string,Java,String,我有一个有很多两对字符串的文件,即双语文件。在某些条目上,目标字符串在“:”之后不包含等于src的空格数 例如 我需要:%2$s成为:%2$s 有什么想法吗?试试这个:- src = src.replaceAll(":%", ": %") 这应该让你开始: import java.util.regex.*; public class Test { public static void main(String[] args) { String src = "abc

我有一个有很多两对字符串的文件,即双语文件。在某些条目上,目标字符串在“:”之后不包含等于src的空格数

例如

我需要
:%2$s
成为
:%2$s

有什么想法吗?

试试这个:-

src = src.replaceAll(":%", ": %")

这应该让你开始:

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

你需要做什么?你能给出一个更全面完整的例子吗?@aioobe我需要将冒号后面的src中的空格数与目标匹配。例如,如果src在第二个冒号后有3个空格:“目标应该在第二个冒号后有3个空格,我需要的是匹配src可用的空格数。例如,如果src msg有3个空格,目标应该有3个空格,如果源有2个空格,目标应该有2个空格
Spaces in src: 2
Spaces in tgt: 3
Target with src's number of spaces: ghi :  jkl