如何在Java中拆分字符串

如何在Java中拆分字符串,java,Java,我有一个字符串是(30)有人能帮我把它拆分成下面的样子吗 ( 三十二 ) 我担心的是括号和数字之间没有空格。 拆分后,我希望将每个字符存储到单独的变量中,并希望将“32”转换为整数值以使用它 一个选项使用环视来确定拆分应该发生在哪里。假设您希望在单词和非单词字符之间的边界处发生拆分,则lookarounds将起作用,因为它们断言但不使用,所有输入都将显示在结果中 String input = "(32)"; String[] parts = input.split("(?<=[^A-Za-

我有一个字符串是(30)有人能帮我把它拆分成下面的样子吗

  • (
  • 三十二
  • )
  • 我担心的是括号和数字之间没有空格。
    拆分后,我希望将每个字符存储到单独的变量中,并希望将“32”转换为整数值以使用它


    一个选项使用环视来确定拆分应该发生在哪里。假设您希望在单词和非单词字符之间的边界处发生拆分,则lookarounds将起作用,因为它们断言但不使用,所有输入都将显示在结果中

    String input = "(32)";
    String[] parts = input.split("(?<=[^A-Za-z0-9])(?=[A-Za-z0-9])|(?<=[A-Za-z0-9])(?=[^A-Za-z0-9])");
    for (String part : parts) {
        System.out.println(part);
    }
    
    (
    32
    )
    
    String input=“(32)”;
    
    String[]parts=input.split((?似乎您也希望保留拆分字符,因此使用String.split()“normal”将不起作用。为此,我将使用已经提出的lookarounds,但使用更简单的模式:

    import java.util.Arrays;
    
    public class Splitter {
      public static void main(String args[]) {
        String str = "(30)";
        String[] results = str.split("(?<=[()])|(?=[()])");
        System.out.println(Arrays.toString(results)); // [(, 30, )]
      }
    }
    
    导入java.util.array;
    公共类拆分器{
    公共静态void main(字符串参数[]){
    字符串str=“(30)”;
    String[]results=str.split((?Regex模式“\\b”用于匹配由分隔符分隔的单词

    public class Main {
        public static void main( String[] str ) {
    
            String[] split = splitStr( "(32)" );
            for ( String s : split ) {
                System.out.println(s);
            }
        }
    
        public static String[] splitStr( String str ) {
            String regex = "\\b";
            return str.split(regex);
        }
    }
    

    所以你想在每个括号编号的边界上拆分?你想将32拆分为30…?我们不做你的工作。添加你尝试过的内容。@jens我不希望你做我的工作,我不是专家,所以我提出了一个问题。问题的一部分应该是试图解决你的问题。请详细阅读。因为我不是这方面的专家java基本上我是一名测试人员,实现了自动化拆分后,我可以将每个字符存储到任何其他字符中吗variable@NarendraChetan当您使用“字符数组”时,将字符串按其字符级别分开并存储在字符数组中。@NarendraChetan yes您可以按如下方式使用char a=chars[0]我很感激你的支持和及时的帮助,我没有得到你的帮助,请帮助我detail@NarendraChetan您的问题已被关闭,因为不清楚您在问什么。请编辑您的问题,并告诉我们您的输入按其方式被拆分的逻辑。在某些假设下,我的答案是正确的ons。不要在没有解释的情况下添加代码。这是没有帮助的。
    public class Main {
        public static void main( String[] str ) {
    
            String[] split = splitStr( "(32)" );
            for ( String s : split ) {
                System.out.println(s);
            }
        }
    
        public static String[] splitStr( String str ) {
            String regex = "\\b";
            return str.split(regex);
        }
    }