gpt4 book ai didi

java - 如何反转字符串中的每个单词(单独)?

转载 作者:行者123 更新时间:2023-12-01 18:41:41 32 4
gpt4 key购买 nike

Java 专家需要您的帮助。

今天我在一次采访中被问到这个问题,但我无法解决。所以我需要一个解决方案来解决这个问题;

反转字符串

Input  : Hello, World!
Output : olleH, dlroW!

在这种情况下,字母数字会反转,其余部分保留在同一位置,这意味着逗号和感叹号保留在同一位置。

您可以使用 4 个字符串函数来获取答案;

  1. charAt(c)
  2. 长度()
  3. setCharAt(i,c)
  4. boolean 值 isAlphaNumeric()

我尝试了以下代码;

public void String(String str){     
String temp;

for(int i=str.length-1;i>=0;i--){
temp = temp + str.charAt(i);
}
}

但是上面的代码反转了整个字符串。

最佳答案

您可以尝试使用正则表达式查找所有单词,然后使用 Matchers 方法 appendReplacementappendTail 用反向版本替换已找到的单词。要生成单词的反向版本,您可以使用

StringBuilder().append(word).reverse().toString();

以下是具体操作方法

public static void main(String[] args) throws Exception {
Pattern p = Pattern.compile("\\p{IsAlphabetic}+");

StringBuffer sb = new StringBuffer();

Matcher m = p.matcher("Hello, World!");
while (m.find()) {
m.appendReplacement(sb, reverseWord(m.group()));
}
m.appendTail(sb);

System.out.println(sb);
}

private static String reverseWord(String word) {
return new StringBuilder().append(word).reverse().toString();
}

输出:

olleH, dlroW!

关于java - 如何反转字符串中的每个单词(单独)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19737544/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com