Я собираюсь искать каждое вхождение символа в текстовом файле. Это «�» или более известный как 0xFFFD. Ну, я заставляю все работать, если я ищу нормальную строку, но я не работаю с этим специальным символом. Представьте, что у меня есть указанная строка c в текстовом файле, на которую ссылается $ line, и в нем есть специальный символ, о котором я говорю, например:
$line = 'you cann cho�se f�r everyone'
Затем я попытался создать следующие переменные:
$SearchCharacter1 = "�"
$SearchCharacter2 = $([char]0xFFFD)
Затем я использовал оба из них в следующем коде Powershell, используя команду Select-String
if($line | Select-String -Pattern $SearchCharacter -SimpleMatch)
{
Write-Host "Character involved"
}else
{
Write-Host "Character not involved"
}
Я также попробовал простое утверждение типа:
if($line.Contains($SearchCharacter))
{
Write-Host "Character involved"
}else
{
Write-Host "Character not involved"
}
Кто-нибудь, что нужно сделать, чтобы код работал? Что такого особенного в 0xFFFD? Почему все работает, когда я использую нормальный символ. Спасибо за ваше время!
РЕДАКТИРОВАТЬ: я получаю строку, как это:
foreach ($file in $files){
$lines = Get-Content $file
foreach ($line in $lines){
# Check if the line contains the character we need to change.
if($line -match $SearchCharacter)
{
# And now do sth with $line