您的位置 首页 java

如何在 Java 中反转字符串并用“-”解析它?

我必须反转给定的字符串并用“-”解析它。 例如。 输入:abcde 输出:e-d-c-b-a 任何简单的解决方案?

Java中的StringBuilder类与示例

Java 中的 StringBuilder 表示可变的字符序列。由于 Java 中的 String 类创建了一个不可变的字符序列,因此 StringBuilder 类提供了 String 类的替代方案,因为它创建了一个可变的字符序列。 StringBuilder 的功能与 StringBuffer 类非常相似,因为它们都通过制作可变的字符序列来提供 String 类的替代方案。但是,StringBuilder 类与基于同步的 StringBuffer 类不同。 StringBuilder 类不提供同步保证,而 StringBuffer 类提供。因此,此类设计用于在单个线程使用 StringBuffer 的地方(通常情况下)用作 StringBuffer 的替代品。在可能的情况下,建议优先使用此类而不是 StringBuffer,因为它在大多数实现下会更快。 StringBuilder 的实例对于多线程使用是不安全的。如果需要这种同步,那么建议使用 StringBuffer。

类层次结构:

 java.lang.Objectjava.langClass StringBuilder  

句法:

 public final class StringBuilderextends Objectimplements Serializable, CharSequence  

使用 StringBuilder#reverse 我们可以尝试:

 /* package whatever; // don't place package name! */import java.util.*;import java.lang.*;import java.io.*;/* Name of the class has to be "Main" only if the class is public. */class Ideone{public static void main (String[] args) throws java.lang.Exception {  String input = "abcde";  StringBuilder sb = new StringBuilder(input);  String output = sb.reverse().toString().replaceAll("(?<=.)(?=.)",   "-");  System.out.println(output);  // e-d-c-b-a }}  

对于上面 String#replaceAll 中使用的正则表达式模式的解释,它旨在匹配字符串中两边都有字母的每个位置:

 (?<=.)  assert that some character precedes(?=.)   assert that some character follows  

这可能会帮助您使用连接“-”来反转单词。

文章来源:智云一二三科技

文章标题:如何在 Java 中反转字符串并用“-”解析它?

文章地址:https://www.zhihuclub.com/176282.shtml

关于作者: 智云科技

热门文章

网站地图