0

示例:输入

Str = P.O.Box

输出

Str= PO BOX

我可以将字符串转换为大写并用空格替换所有点(。)。

public static void main(String args[]){
    String s = "P.O.Box 1836";
    String uppercase = s.toUpperCase();
    System.out.println("uppercase "+uppercase);
    String replace = uppercase.replace("."," ");
    System.out.println("replace "+replace);

}
4

8 回答 8

3

System.out.print(s.toUpperCase().replaceFirst("[.]", "").replaceAll("[.]"," "));

于 2013-09-13T10:01:31.407 回答
0

如果您仔细查看 String API,您会注意到有一个方法通过:-

replaceFirst(String regex, String replacement)

希望能帮助到你。

于 2013-09-13T10:00:14.800 回答
0

您必须使用该replaceFirst方法两次。首先用于.替换 <nothing>。第二个用 . 替换第二. <space>

String str = "P.O.Box";
str = str.replaceFirst("[.]", "");
System.out.println(str.replaceFirst("[.]", " "));
于 2013-09-13T10:08:17.747 回答
0

这一个班轮应该完成这项工作:

String s = "P.O.Box";
String replace = s.toUpperCase().replaceAll("\\.(?=[^.]*\\.)", "").replace('.', ' ');
//=> PO BOX
于 2013-09-13T10:10:35.717 回答
0
String resultValue = "";
        String[] result = uppercase.split("[.]");


        for (String value : result)
        {
           if (value.toCharArray().length > 1)
            {
                resultValue = resultValue + " " + value;
            }
            else
            {
                resultValue = resultValue + value;
            }
        }
于 2013-09-13T10:11:11.957 回答
0

尝试这个

System.out.println("P.O.Box".toUpperCase().replaceFirst("\\.","").replaceAll("\\."," "));

输出

PO BOX

注意:\\如果您只使用.您的输出,则此处需要将空白。

现场演示

于 2013-09-13T10:13:20.603 回答
-1

您应该使用replaceFirst两次方法。

String replace = uppercase.replace("\\.", "").replaceFirst("\\.", "");
于 2013-09-13T09:59:35.857 回答
-3

由于您要删除第一个点并将第二个点替换为空格,因此您需要替换整个 PO 部分

利用

replace("P\\.O\\.", "PO ");
于 2013-09-13T09:59:01.480 回答