java一个字符串有数字有字母,把所有数字替换成*号怎么做?
时间: 2024-05-06 13:20:45 浏览: 31
可以使用正则表达式来实现将字符串中的数字替换成*号。具体代码如下:
```
String str = "a1b2c3d4e5";
String regex = "\\d";
String replacedStr = str.replaceAll(regex, "*");
System.out.println(replacedStr);
```
解释一下代码:
首先定义一个字符串 `str`,其中包含数字和字母。
然后定义一个正则表达式 `regex`,表示要匹配的是数字。
接着使用 `replaceAll` 方法将字符串中所有匹配 `regex` 的部分替换成 `*`,得到替换后的字符串 `replacedStr`。
最后输出替换后的字符串。输出结果为:`a*b*c*d*e*`。
相关问题
用Java编写一段代码,输入任意字符串,对字符串进行ASCII码的顺序进行排序(升序),并对排序后的字符串进行加密,加密规则为:如果是英文字母,则将该字母替换为该字母后的第三个字母。其他字符时,不做替换。
下面是用Java编写的代码,实现输入任意字符串,将字符串按照ASCII码的顺序进行排序(升序),并按照加密规则进行加密:
```java
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
char[] charArr = str.toCharArray();
Arrays.sort(charArr);
for(int i = 0; i < charArr.length; i++){
if(charArr[i] >= 'a' && charArr[i] <= 'z'){
charArr[i] = (char)(((charArr[i] - 'a' + 3) % 26) + 'a');
}else if(charArr[i] >= 'A' && charArr[i] <= 'Z'){
charArr[i] = (char)(((charArr[i] - 'A' + 3) % 26) + 'A');
}
}
String sortedStr = new String(charArr);
System.out.println(sortedStr);
}
}
```
这段代码通过使用 `Scanner` 类从控制台读取输入的字符串,然后使用 `toCharArray()` 方法将字符串转换为字符数组。接下来,使用 `Arrays.sort()` 方法将字符数组按照ASCII码的顺序进行排序(升序)。
接着,使用 `for` 循环遍历字符数组,对于每个字符,如果它是小写字母,则将其替换为该字母后面的第三个字母(例如,a 替换为 d),如果它是大写字母,则将其替换为该字母后面的第三个字母(例如,A 替换为 D)。其他字符不进行替换。
最后,使用 `new String()` 方法将字符数组转换为字符串,并将其打印出来,即为排序后加密后的字符串。
编写java程序:实现字符串替换 输入一个正整数repeat (0<repeat<10),做repeat次下列运算: 输入一行字符串,生成一个新的字符串, 将原字符串中的大写字母用下面列出的对应大写字母替换, 其余字符不变, 输出新字符串. 原字母 对应字母 A ──→ Z B ──→ Y C ──→ X D ──→ W …… X ──→ C Y ──→ B Z ──→ A 例:括号内是说明 输入: 3 (输入3行字符串) A flag of USA IT12 oueiaba 输出: Z flag of FHZ RG12 oueiaba
可以按照以下方式编写Java程序:
```java
import java.util.Scanner;
public class StringReplace {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int repeat = scanner.nextInt();
scanner.nextLine(); // 读取repeat后的换行符
while (repeat-- > 0) {
String str = scanner.nextLine();
String replacedStr = replaceString(str);
System.out.println(replacedStr);
}
}
private static String replaceString(String str) {
char[] chars = str.toCharArray();
for (int i = 0; i < chars.length; i++) {
if (Character.isUpperCase(chars[i])) {
chars[i] = (char) ('A' + 'Z' - chars[i]);
}
}
return new String(chars);
}
}
```
程序首先读取一个正整数repeat,表示要运算的次数。然后进入一个循环,每次读取一行字符串并进行替换,输出替换后的结果。
在替换函数replaceString中,将字符串转换为字符数组,遍历每个字符,如果是大写字母,则用对应的大写字母进行替换,即将字符c替换成字符'A'+'Z'-c。最后将字符数组转换为字符串并返回。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://img-home.csdnimg.cn/images/20210720083327.png)
![-](https://img-home.csdnimg.cn/images/20210720083327.png)
![-](https://img-home.csdnimg.cn/images/20210720083327.png)
![-](https://img-home.csdnimg.cn/images/20210720083327.png)
![-](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![-](https://img-home.csdnimg.cn/images/20210720083327.png)
![-](https://img-home.csdnimg.cn/images/20210720083327.png)