用java代码把三个字名字名字后两位替换为星
时间: 2024-02-05 13:11:35 浏览: 137
可以使用 String 类的 substring() 方法和 replace() 方法来实现。
示例代码如下:
```java
public class Main {
public static void main(String[] args) {
String name = "张三";
String replaced = name.substring(0, name.length() - 2) + "**";
System.out.println(replaced);
}
}
```
运行结果为:
```
张**
```
其中,name.substring(0, name.length() - 2) 表示截取字符串 name 的前缀部分,即去掉后两位;加上 "**",即替换成星号。最后将替换后的字符串输出即可。
相关问题
java 字符串将其中一位替换为另一个字符
可以使用字符串的 `replace` 方法来替换其中的一个字符。例如,将字符串中的第一个字符替换为另一个字符可以使用以下代码:
```java
String str = "hello";
char newChar = 'j';
str = str.substring(0, 1) + newChar + str.substring(2);
```
在上面的代码中,`substring(0, 1)` 表示取字符串的第一个字符,`substring(2)` 表示取字符串的第三个字符到末尾的所有字符。然后将要替换的字符 `newChar` 加入到这两个子字符串中间,即可得到替换后的新字符串。
java中固定电话中间带"-"掩码展示区号和后两位的代码逻辑,比如0713-******12
在Java中实现固定电话号码中间带"-"掩码的展示,可以使用`String`类的`replaceAll`方法结合正则表达式来完成。具体代码逻辑如下:
首先,你需要一个电话号码的字符串。然后,使用`replaceAll`方法来将不需要显示的数字替换为星号"***"。为了在电话号码中间添加"-",可以先使用`substring`方法将电话号码分成三部分:区号、中间的数字和最后两位数字。最后,将这三部分按照"区号-中间数字-最后两位"的格式拼接起来。下面是一个简单的示例代码:
```java
public class PhoneMasking {
public static void main(String[] args) {
String phoneNumber = "07135551234"; // 示例电话号码
String maskedNumber = maskPhoneNumber(phoneNumber);
System.out.println(maskedNumber);
}
public static String maskPhoneNumber(String number) {
if (number == null || number.length() != 10) {
throw new IllegalArgumentException("电话号码必须是10位数字");
}
String areaCode = number.substring(0, 3); // 获取区号,长度为3
String middleNumbers = number.substring(3, 8); // 获取中间的数字,长度为5
String lastTwo = number.substring(8); // 获取最后两位数字
// 将中间的数字替换为星号,长度为5
String maskedMiddle = middleNumbers.replaceAll(".", "*");
// 拼接最终的格式化电话号码
return areaCode + "-" + maskedMiddle + lastTwo;
}
}
```
以上代码首先定义了一个电话号码,并调用了`maskPhoneNumber`方法来对电话号码进行格式化。方法中首先检查电话号码是否符合要求(即为10位数字),然后分别获取区号、中间数字和最后两位数字。中间的数字被替换成星号,最后将三部分按要求格式拼接并返回。