gpt4 book ai didi

java - Java 中动态缩进字符串

转载 作者:行者123 更新时间:2023-11-30 05:53:28 25 4
gpt4 key购买 nike

friend 们下午好!

我有一个关于动态缩进字符串的问题。

我有一个会计科目表,例如:

  • 3.01.01 - 帐户名称
  • 3.01.01.01 - 帐户名称
  • 3.01.01.01.0010 - 帐户名称
  • 3.01.01.03 - 帐户名称
  • 3.01.01.03.0003 - 帐户名称

我想根据您的“级别”缩进(在点中断开字符串)

示例:3.01.01 = 3 个级别3.01.01.01 = 4 级

我希望您插入 X 选项卡(x = 级别),对于如何执行此操作有什么建议吗?

预期结果:

  • ...3.01.01 - 帐户名称
  • ...3.01.01.01 - 帐户名称
  • .....3.01.01.01.0010 - 帐户名称
  • ...3.01.01.03 - 帐户名称
  • .....3.01.01.03.0003 - 帐户名称

最佳答案

可以使用正则表达式轻松完成,如下所示:

String indent = num.replaceAll("[^.]+\\.?", "\t");

演示(使用.而不是制表符来显示缩进):

public static void main(String[] args) {
print("3.01.01", "ACCOUNT NAME");
print("3.01.01.01", "ACCOUNT NAME");
print("3.01.01.01.0010", "ACCOUNT NAME");
print("3.01.01.03", "ACCOUNT NAME");
print("3.01.01.03.0003", "ACCOUNT NAME");
}
public static void print(String num, String name) {
String indent = num.replaceAll("[^.]+\\.?", ".");
System.out.println(indent + num + " - " + name);
}

输出

...3.01.01 - ACCOUNT NAME
....3.01.01.01 - ACCOUNT NAME
.....3.01.01.01.0010 - ACCOUNT NAME
....3.01.01.03 - ACCOUNT NAME
.....3.01.01.03.0003 - ACCOUNT NAME

关于java - Java 中动态缩进字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53545753/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com