Aspen tech:Century10.Underthewire.tech演练

关于Aspen tech的问题,在underthewire中经常遇到, Century10 的密码是桌面上文件中的第 161 个单词。

Century10 的密码是桌面上文件中的第 161 个单词。

注:-密码将是小写的,无论它如何出现在屏幕上。

* 上面的问题是我面临的挑战。我尝试了的命令。*

Get-Content C:\Users\Century9\Desktop\Word_File.txt | Select-Object -Index 161

结果是 nil。我知道我需要为字符串分配一个值,因为它现在被视为一个整体实体。

1

如果感兴趣的标记是文件中的第 161 个单词,请使用以下方法,将文件拆分为单词,而不考虑换行符[1]

$pass = (-split (Get-Content -Raw Word_File.txt))[160]

如果要将令牌转换为全小写,则追加.ToLower()

请注意,上面使用-Raw将整个文件作为单个字符串加载到内存中。

由于数组索引是基于0的,因此返回第 161 个元素的是 index[160]

-split operator的一元形式通过空格将输入拆分为令牌数组

注意:如果您想按正则表达式上下文中构成单词的更严格定义进行拆分,请改用以下内容:

$pass = ((Get-Content -Raw Word_File.txt) -split '\W+' -ne '')[160]

[1]如果您的输入文件在其自己的行中包含每个单词

您的解决方案在正确的轨道上,除了您应该将160传递给Select-Object -Index,因为-Index参数需要0基于索引,而不是1基于行号

# Extract the 161st line.
$pass = Get-Content Word_File.txt | Select-Object -Index 160

要转换为小写:

$pass = (Get-Content Word_File.txt | Select-Object -Index 160).ToLower()

如果输入文件的少于161 行(带有错误消息You cannot call a method on a null-valued expression),则上述操作将失败

如果您希望安静地接收无输出,请使用以下内容(为简洁起见,它使用内置别名select表示Select-Object,使用foreach表示ForEach-Object):

$pass = Get-Content Word_File.txt | select -Index 160 | foreach ToLower
0

尝试运行此:

((Get-Content -Path C:\Users\Century9\Desktop\Word_File.txt -TotalCount 161)[-1]).ToLower()

本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处

(430)
电脑键盘指法:使用钢琴键盘作为电脑键盘(google piano keyboard)
上一篇
诉讼程序:是否可以查询已置于诉讼保留的邮箱的邮箱统计信息 然后在Office365PS中删除关联的用户帐户
下一篇

相关推荐

发表评论

登录 后才能评论

评论列表(24条)