我有一些文件名,我试图从中提取名称/单词/数字以供以后使用。
例如
/.../Penguins_45_MIA.txt
/.../Sheep_3.5_KIA.txt
/.../Dolphins_19_AWOL.txt
如您所见,文件名中用下划线分隔的组件对我很有用。我将它们放入一个数组(“ currentpath
”)中,然后放入循环,一次处理每个文件(我认为这是一种非常明智的方法?)。我一直在尝试使用以下命令将路径分解为组成单词和数字:
partialpath=(${currentpath//_/})
,然后使用类似这样的名称来选择名称的一部分(现在是元素),例如动物:
${partialpath[-3]}
但是这不起作用-我一直希望上面的内容能给我Dolphins
或Penguins
等。当我调查时,echo "${partialpath[@]}"
返回了:
/.../Dolphins19AWOL.txt
所以我假设数组只有一个元素?就是说,整个文件路径都粘在一起而没有任何下划线?还是我选择的元素不正确?
此外,我刚刚注意到,最后一个元素仍将.txt
文件保留在最后一个元素上,这是次优的。
我希望这很清楚,我知道这是一个简单的问题,但是我对编写脚本完全陌生,整整一天我都在挠头。
答案 0 :(得分:0)
quote.chars().filter(c -> !"aeiou".contains(String.valueOf((char) c).toLowerCase())).count();
只是删除了下划线,它不会破坏字符串。它可以在数组上使用,但只对每个元素执行相同的字符串操作。试试这个:
${currentpath//_/}