Android 在输出的每个行中的特定列之间选择文本
我的输出类似于:Android 在输出的每个行中的特定列之间选择文本,android,bash,output,cut,Android,Bash,Output,Cut,我的输出类似于: xxxxxxxxxFOOxxxxxxxxxxxx blablabl BAR lablblablaa =========tst============ FOO BAR tst 我能为您做些什么,比如: xxxxxxxxxFOOxxxxxxxxxxxx blablabl BAR lablblablaa =========tst============ FOO BAR tst 我应该使用哪个命令仅显示所有行中特定列之间的文本 cut-d将不起作用,因为它的分隔符在每一行中都不
xxxxxxxxxFOOxxxxxxxxxxxx
blablabl BAR lablblablaa
=========tst============
FOO
BAR
tst
我能为您做些什么,比如:
xxxxxxxxxFOOxxxxxxxxxxxx
blablabl BAR lablblablaa
=========tst============
FOO
BAR
tst
我应该使用哪个命令仅显示所有行中特定列之间的文本
cut-d
将不起作用,因为它的分隔符在每一行中都不相同
PS:它在android上运行,几乎没有命令丢失
谢谢你的帮助
String[] str = {"xxxxxxxxxFOOxxxxxxxxxxxx",
"blablabl BAR lablblablaa",
"=========tst============"};
for (String s : str) {
int half = s.length() / 2;
String cutted = s.substring(half - 3, half);
// or String cutted = s.substring(9, 12);
// => FOO, BAR, tst
}
cut-d
将不起作用,因为它的分隔符在每一行中都不相同
是,但剪切-c10-12执行此操作,只提取每行的第10、11和12个字符。您没有提供较长线条的示例,因此不清楚在这种情况下要执行什么操作。使用以下简单方法:
private static String selectBetween(String input, int numberOfCharacters) {
int startIndex = (input.length() - numberOfCharacters) / 2;
return input.substring(startIndex, startIndex + numberOfCharacters);
}
然后您只需调用它:
stringoutput=selectBetween(“123123ABC123123”,3);//输出将是ABC
字符串长度是否固定?@susemi99几乎。。。但是让我们说是的..在+1000行的输出中只有5/6行更长..你知道如何使用substring()吗?一点。。我应该使用一个循环,还是可以直接对所有输出使用循环@这正是我要找的。。再长一点的线路也没问题了,我需要的是从线路的尽头一直在同一个地方@dario谢谢你我要的是bash。。你的代码看起来像java,是吗?对不起。因为安卓标签。我要的是bash?你的答案看起来像java。。它是?