title: Select-String output gives whole object and does not respond to filter
body: <p>I have done some programming on Unix/Linux, but lately PowerShell has been more useful in my work. However the lack of <code>grep</code> drives me mad. Can someone explain this phenomenon?</p>
  
  <p>I am trying to get the value of IOTA for today returned to a value that I can <code>Write-Output</code>.</p>
  
  <pre><code>$webpage = Invoke-WebRequest -Uri https://coinmarketcap.com/currencies/iota/
  $filtered = $webpage.ParsedHtml.body.innerText
  </code></pre>
  
  <p>This gives me all the information I need, but it needs more filtering.</p>
  
  <pre><code>$filtered | Select-String "IOTA"
  </code></pre>
  
  <p>This gives me all the information in <code>$filtered</code>, somehow it does not manage to select that string. However, if I do this it works:</p>
  
  <pre><code>$filtered &gt; filter.txt
  Get-Content filter.txt | Select-String "IOTA"
  </code></pre>
  
  <p>I have been trying to search the web for answers, the closest thing I found is that it maybe processes <code>$filtered</code> as an object, not a string. If I check, it says it is a string.</p>
  
  <pre>
  PS> $filtered.GetType()
  
  IsPublic IsSerial Name                     BaseType
  -------- -------- ----                     --------
  True     True     String                   System.Object
  </pre>
  
  <p>This is not my first experience of <code>Select-String</code> failure. What am I doing wrong?</p>