将String转换为String数组

-2 java

我尝试创建一个程序,用我自己的规则将文本加密成代码.但是,我发现分裂文本并将其发送到数组有一些问题

我想在Msg数组中看到这个

Msg[0] = "h";
Msg[1] = "e";
Msg[2] = "l";
Msg[3] = "l";
Msg[4] = "o";
Run Code Online (Sandbox Code Playgroud)

我尝试像这样编码

String text = "hello";
String[] Msg = new String[] {text};
Run Code Online (Sandbox Code Playgroud)

这段代码有效,但结果并不像我想要的那样.你能帮我解决这个问题吗?

谢谢..

Bit*_*nja 6

如果要将字符串拆分为每个字符,请使用以下代码:

String text = "hello";
String[] Msg = text.split("(?!^)");
Run Code Online (Sandbox Code Playgroud)

这使用正则表达式将代码分割为两个字符之间的每个点(不包括第一个空白点).

以下是它的工作原理:

.split("");如果你使用java 8作为@Pshemo指出,分割字符串会很好.但是在下面你将得到一个以""作为第一个元素开头的数组.

这个正则表达式避免了这种情况,因为它使用负前瞻 (?!)来确保不匹配由^字符表示的行的开头.

  • 对`(!?^)`的任何解释?BTW [自Java 8以来不再需要这个正则表达式](http://stackoverflow.com/questions/22718744/why-does-split-in-java-8-sometimes-removes-empty-strings-if-they-are -at-start-of),你可以使用`split("")`. (2认同)