【问题标题】:Split string into two parts of same size by words only in java/android仅在 java/android 中按单词将字符串拆分为大小相同的两部分
【发布时间】:2014-10-30 10:07:11
【问题描述】:

如何将一个字符串分成大小相同但不在单词之间的两部分?
我想将一个字符串拆分为两个相同大小的部分,但字符串不应在单词之间拆分,而只能在空格之间进行拆分。

【问题讨论】:

  • 字数相同?还是人物?
  • characters 表示长度.. 但需要几乎相同
  • @PhilippJahoda 除了删掉空格之外,您的回答有什么问题?这是我唯一能发现的问题。我会为此使用一个变量:yourstring.length() / 2) 以最小化数学运算。

标签: java android string substring


【解决方案1】:
  1. 确定单词的长度
  2. 确定中间
  3. 从中间双向搜索下一个空格
  4. 将距离较近的空白处放在中间,并创建两个子字符串

【讨论】:

  • +1 但我确信他想要一个可以复制和粘贴的代码 :) 无论如何,这些问题是小学基础编程课程中的典型练习
【解决方案2】:

对于奇数长度和偶数长度的拆分字符串,我在代码下方使用并回答了。

String st= (String) st.getText().toString().trim();
              int length = st.length();
                boolean flag = length%2==0?true:false;
                String[] splits = new String[2];
                if(flag){
                    splits[0] = st.substring(0, length/2);
                    splits[1] = st.substring(length/2, length);
                }else{
                    int middle = length/2;
                    splits[0] = st.substring(0, middle);
                    splits[1] = st.substring(middle, length);
                }

【讨论】:

    【解决方案3】:
            String s = "123456789";
            int length = s.length();
            boolean flag = length%2==0?true:false;
            String[] splits = new String[2];
            if(flag){
                splits[0] = s.substring(0, length/2);
                splits[1] = s.substring(length/2, length);
            }else{
                System.out.println("cannot split this string into two same size parts,because its length is not even");
            }
            System.out.println(splits[0]);
            System.out.println(splits[1]);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-04-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-16
      • 2019-01-11
      相关资源
      最近更新 更多