用java写代码要求用户对输入的串进行处理,处理规则如下: (1)每个单词首字母大写 (2)数字与字母间用“_”分开 (3)单词间多个空格压缩为一个空格
时间: 2023-05-26 18:04:27 浏览: 75
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
String[] words = str.split(" +"); // 正则表达式" +"匹配多个空格为分隔符
for (String word : words) {
word = word.replaceAll("([a-zA-Z])(\\d)", "$1_$2"); // 用正则表达式替换字母与数字间的空格为"_"
word = word.replaceAll("(\\d)([a-zA-Z])", "$1_$2");
word = word.substring(0, 1).toUpperCase() + word.substring(1); // 首字母大写
System.out.print(word + " ");
}
sc.close();
}
}
相关问题
用java写代码每个单词首字母大写 (2)数字与字母间用“_”分开 (3)单词间多个空格压缩为一个空格
假设给定一个字符串变量str,代码如下:
```
String str = "this is a SAMPLE String 123";
str = str.replaceAll("\\s+", " "); // 压缩多余空格为一个空格
String[] words = str.split(" ");
StringBuilder sb = new StringBuilder();
for (String word : words) {
// 单词首字母大写
sb.append(Character.toUpperCase(word.charAt(0))).append(word.substring(1));
// 数字与字母间添加"_"
if (word.matches(".*\\d+.*")) { // 判断单词中是否含有数字
sb.append("_");
}
sb.append(" ");
}
str = sb.toString().trim();
```
解释如下:
第一行定义了一个字符串变量str,待处理的字符串为"this is a SAMPLE String 123"。
第二行使用正则表达式替换多余空格,将多个空格压缩为一个空格。
第三行将处理后的字符串按空格分割为单词,存储在字符串数组words中。
第四行创建一个StringBuilder对象,用于拼接处理后的字符串。
第五至八行遍历单词数组,对每个单词进行处理:
首先将单词的首字母转为大写,然后将其余字母添加到StringBuilder对象中;
接着判断单词中是否含有数字,如果有则在单词最后添加"_";
最后在单词后添加一个空格,以便下一个单词的拼接。
第九行将拼接好的字符串转为String类型,然后去掉首尾的空格,即为最终结果。
注:以上代码中的正则表达式"\\s+"表示匹配多个空格。
java 输入英文字符串将每个单词首字母大写后输出
可以使用Java的字符串操作方法和循环语句来实现该功能。具体实现代码如下:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入英文字符串:");
String str = input.nextLine();
String[] words = str.split(" "); // 按空格分割字符串为单词数组
StringBuilder result = new StringBuilder();
for (String word : words) {
// 将单词首字母转换为大写,其余字母不变
String capitalizedWord = word.substring(0, 1).toUpperCase() + word.substring(1);
result.append(capitalizedWord).append(" "); // 拼接处理后的单词
}
System.out.println("处理后的字符串为:" + result.toString().trim()); // 输出处理后的字符串
}
}
```
运行程序后,输入一个英文字符串,程序将按空格分割为单词数组,然后使用循环遍历每个单词,将其首字母转换为大写,将处理后的单词拼接为结果字符串。最后输出处理后的字符串。
阅读全文