我希望删除一些字符串的部分,如果它以某个字符串结尾.
一个例子是取这个字符串: "am.sunrise.ios@2x.png"
并删除@2x.png所以它看起来像:"am.sunrise.ios"
我如何检查字符串的结尾是否包含"@2x.png"并删除它?
我的问题可能看起来相当简单,我仍然是bash脚本的初学者,但是当我用awk打印时,我正在尝试格式化我的ls输出而不使用选项卡.
这是我正在运行的当前命令:
ls -al | sed 1d | awk '{print $1" ",$6" ", $7"\t", $9}'
Run Code Online (Sandbox Code Playgroud)
它打印出以下内容
drwx------ Feb 13 .
drwxr-xr-x Feb 5 ..
-rw-r--r-- Jan 21 .alias
-rw-r--r-- Feb 13 .bash_history
-rw-r--r-- Jan 29 .bash_profile
-rw-r--r-- Jan 21 .bash_profile~
-rw-r--r-- Feb 13 .bashrc
-rw-r--r-- Jan 21 .bashrc~
drwxr-xr-x Jan 3 csc135
drwxr-xr-x Aug 13 csc136
drwxr-xr-x Feb 9 csc235
drwxr-xr-x Oct 19 csc237
drwxr-xr-x Feb 18 csc310
drwxr-xr-x Feb 6 csc325
Run Code Online (Sandbox Code Playgroud)
我也尝试过使用空格:
ls -al | sed 1d | awk …Run Code Online (Sandbox Code Playgroud) 所以我试图从玩家的'Rack'(一个ArrayList)中删除所有牌,并将其逐个放入丢弃堆(Stack)中.到目前为止,我有以下代码,我已经意识到一旦它达到5就会停止.(注意:每个玩家机架有10张卡).
int rackSize = player.getPlayerRack().getRack().size(); // rackSize = 10
for (int i = 0; i < rackSize; i++) {
getDeck().getDiscardPile().add(player.getPlayerRack().getRack().remove(i));
}
Run Code Online (Sandbox Code Playgroud)
我的问题是如何删除玩家'Rack'中的所有项目,使rackSize = 0,并将所有项目添加到弃牌堆中?
如果这令人困惑,非常抱歉.你可以通过说a中有10个整数来概括它ArrayList<Integer> hand,所以:[1, 2, 3, 4, 5, 6, 7, 8, 9, 10].如何从此列表中删除所有项目并将其添加到Stack<Integer> discardPile?