powershell indexof不起作用

时间:2018-03-17 06:36:42

标签: powershell

你能帮忙解决string.indexof的问题。 这是我做的: 1.使用ANSI保存下面的log1.txt。

   192.168.17.54,207.68.172.246 7:49am
   292.168.17.54,207.68.172.246 7:41am
   392.168.17.54,207.68.172.246 7:42am
  1. 运行代码:
  2.   

    $ b = get-content -Path log1.txt -Encoding ascii

    - 在$ b中找不到字符串'192',$ b显示文件中的所有值。

    1.   

      $ b.IndexOf( '192') - 1

      当我不使用get-content -

        

      $ b.indexof发现'192'

      我在这里缺少什么?

1 个答案:

答案 0 :(得分:5)

Get-Content返回一个字符串数组,数组有自己的.IndexOf()方法,用于查找数组中的项目。 "192"不是数组中的完整字符串,因此找不到它。

您希望Get-Content -Raw返回单个字符串,或者更有可能Get-Content ... | ForEach-Object { $_.IndexOf("192") }一次测试每一行。

或类似select-string来测试文件中的任何行。