Java:使用 .split 进行重载分隔符(仅使用 charAt() 和 length())

标签 java string

因此,使用 charAt() 和 length() 我应该生成:(补充一下,我也无法使用数组)

string: one,two,three, delimiter: ’,’
one
two
three
string: one,two,three, delimiter: ’o’
ne,tw
,three
string: four,,five,,six, delimiter: ’,’
four
five
six
string: four,,five,,six, delimiter: ’o’
f
ur,,five,,six

我不知道从哪里开始,因为我发现的几乎所有内容都使用与我允许使用的方法不同的方法。我不确定我什至是否允许使用 .split 但我看不出除了使用它之外没有其他方法。这是我自己得到的:

public static void main(String[] args)
{

        String a = "one,two,three";
        String b = "four,,five,,six";


}

public static void stringSplit(String a, String b, char del)

{
        String[] deli = a.split(",");
        String[] delim = b.split("o");

        System.out.println("%s" + deli);
        System.out.println("%s" + delim);
}`

我可以采取哪些步骤来解决此问题,同时仍坚持使用预设?如果不使用与允许的不同的东西,我似乎无法找到任何可以帮助我在此过程中的东西。如果可以的话,帮助而不是答案会更好。如果我所做的只是复制粘贴,我永远不会知道。它必须从方法调用,并且该函数不能返回任何内容。该方法必须具有 public static void stringSplit(String s, char del)

header

最佳答案

我不确定你到底想要什么,但是如果你不能使用 split 方法,你可以简单地使用一个带有 2 个参数的方法,即要分割的字符串和要分割的字符。充当分隔符。一旦你有了这个,你就可以迭代字符串并检查你拥有的字符是否是分隔符。如果是,则拆分并移至下一个:

public List<String> split(String source, char delimeter)
{
     List<String> result = new ArrayList<>();
     StringBuilder sb = new StringBuilder();
     for(int i = 0; i < source.length; i++)
     {
          if(source.charAt(i) == delimeter) 
          {
              result.add(sb.toString());
              sb.Clear();
          }
          else
          {
              sb.append(source.charAt(i));
          }
     }
     return result;
}

关于Java:使用 .split 进行重载分隔符(仅使用 charAt() 和 length()),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33077910/

相关文章:

在我的 linux 机器中找不到 javadoc

java - 将字符串数组添加到 JComboBox

java - 如何在 Android 中将格式化字符串与占位符一起使用?

python - 如何计算 Python 中字符串中集合的成员?

java - Ubuntu 上的 JDK 问题

java - doGet() servlet 中带参数的多个 if else 语句

java - GMail 不显示使用 JavaMail API 发送的电子邮件的 HTML-/Inline-部分

c# - 获取c#代码文件中的所有字符串

r - 如何在R中字符串中的某个位置后添加双引号

java - HashMap 获取输入的排序值 + 将最高值打印为字符串和整数