gpt4 book ai didi

java - 在 Java 中将制表符作为命令行参数传递

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:24:47 27 4
gpt4 key购买 nike

<分区>

所以,基本上,我想在 java 中成功传递一个可能包含特殊字符(例如制表符)的任意字符串。这是此代码示例:

String tab = "\t"; 
//String tab = args[0];
String full = "hi"+tab+"hi"+tab+"bye";
String[] parts = full.split(tab);
String print = "";
for (String s : parts) {
print += s + tab;
}
print = print.substring(0, print.length()-tab.length());
System.out.println(print);

无论变量 tab 是如何定义的,Split 都能成功地恢复零件。但是,当它实际打印时,手动定义制表符(未注释掉的版本)会按预期打印它,并带有制表符。但是,通过命令行传递会导致它实际打印“\t”(例如,就像字符串实际上是“\\t”一样)。

我主要使用 bash,如果有任何特定于 bash 的想法,我会很高兴,但如果它还包括对正在发生的事情的一般解释,我会更高兴。为什么两者的正则表达式相同而字符串文字不同?

程序的 bash 调用:

ARGS="$X $Y $Z \t"

java -cp $CLASSPATH $MEM $PROGRAM $ARGS 2> "${PROGRAM##*.}-error.log" > "${PROGRAM##*.}-out.log"

此处提供的答案实际上主要适用于我的目的,可读性很强,通常只在非常不寻常的事情上失败:“\\\t”,例如:https://gist.github.com/uklimaschewski/6741769

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