下午好朋友!
我对动态缩进字符串有疑问。
我有一个会计科目表,例如:
我想根据您的“级别”缩进(在点中打断字符串)
示例:3.01.01 = 3个级别 3.01.01.01 = 4个水平
我希望您插入X选项卡(x =级别),有关如何执行此操作的任何建议?
预期结果:
答案 0 :(得分:1)
可以使用正则表达式轻松完成,就像这样:
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