Java 使用正则表达式替换子字符串

Java 使用正则表达式替换子字符串,java,regex,Java,Regex,我想用模式“xx kr”或“xx.xx kr”(其中x是一个数字)替换子字符串,用“SEK xx”/“SEK xx.xx”替换 示例:此项成本为34.55克朗=>此项成本为34.55克朗 我从课堂上的一个方法开始: /* Uses regex pattern to replace this pattern*/ private void replacePatternInLine(String line){ line = line.replaceAll("regex", "SEK");

我想用模式“xx kr”或“xx.xx kr”(其中x是一个数字)替换子字符串,用“SEK xx”/“SEK xx.xx”替换

示例:此项成本为34.55克朗=>此项成本为34.55克朗

我从课堂上的一个方法开始:

/* Uses regex pattern to replace this pattern*/
private void replacePatternInLine(String line){

    line = line.replaceAll("regex", "SEK");
    System.out.println(line);
}

但是我不知道我是否在正确的轨道上。如果我能在使用什么正则表达式方面提供帮助,我将不胜感激

我不会为此使用正则表达式。如果它总是采用
xx kr
xx.xx kr
格式,我只需使用replace,然后连接:

line.replaceAll(" kr", "");
line = "SEK " + line;

我不会用正则表达式。如果它总是采用
xx kr
xx.xx kr
格式,我只需使用replace,然后连接:

line.replaceAll(" kr", "");
line = "SEK " + line;
尝试使用以下正则表达式(使用):

请参见

Java

private void replacePatternInLine(String line){
    line = line.replaceAll("([\\d.]+)\\s*kr", "SEK $1");
    System.out.println(line);
}
尝试使用以下正则表达式(使用):

请参见

Java

private void replacePatternInLine(String line){
    line = line.replaceAll("([\\d.]+)\\s*kr", "SEK $1");
    System.out.println(line);
}

我不是很清楚,梅比,但我从一个文件中一次读一行。所以格式是一个子字符串。我不是很清楚maby,但我每次从一个文件中读取一行。所以格式是一个子字符串。谢谢你!这是一个很好的演示。如果数字后面有多个空格,但还是要替换它呢?有没有忽略多个空格?我有,但我不认为它会显示,因为我的代表在下面15@Fanny是的,会的。这与销售代表无关。注意:您只能在发布答案5分钟后接受,因此,可能您在5分钟内接受了。请立即尝试。:-)谢谢你!这是一个很好的演示。如果数字后面有多个空格,但还是要替换它呢?有没有忽略多个空格?我有,但我不认为它会显示,因为我的代表在下面15@Fanny是的,会的。这与销售代表无关。注意:您只能在发布答案5分钟后接受,因此,可能您在5分钟内接受了。请立即尝试。:-)