龙空技术网

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

庄志炎 514

前言:

而今看官们对“java把字符串反转”大概比较注意,咱们都需要了解一些“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把字符串反转