111,129
社区成员
发帖
与我相关
我的任务
分享$fileList = Get-ChildItem 'D:\temp' -filter *.shtml -recurse
foreach($file in $fileList)
{
$content = [string](get-content $file.pspath)
foreach($line in $content)
{
$i = $line.IndexOf("<title>")
if ($i -gt 0 )
{
$j = $line.IndexOf('</title>')
$i = $i + 8
$biaotiStr = $line.Substring($i,$j-$i) #这里出错,因为$j 取不到
echo $biaotiStr
}
}
}

$fileList = Get-ChildItem 'D:\temp' -filter *.html -recurse
foreach($file in $fileList)
{
$content = [string](get-content $file.pspath)
$i = $content .IndexOf("<title>")
if ($i -gt 0 )
{
$j = $content .IndexOf('</title>')
$i = $i + 8
#$biaotiStr = $content .Substring($i,$j-$i) #这里出错,因为$j 取不到
}
}
$content = [string](get-content $file.pspath)
在这里 [string] 已经把内容全部作为字符串去过来了,如果没有 [string] ,是一行行的数组
$j = $line.IndexOf('/title>')
这样就能搜索到,好奇怪 ,为什么[/quote]
$content是全部内容,那后面的foreach是什么意思????[/quote]$fileList = Get-ChildItem 'D:\temp' -filter *.shtml -recurse
foreach($file in $fileList)
{
$content = [string](get-content $file.pspath)
foreach($line in $content)
{
$i = $line.IndexOf("<title>")
if ($i -gt 0 )
{
$j = $line.IndexOf('</title>')
$i = $i + 8
#$biaotiStr = $line.Substring($i,$j-$i) #这里出错,因为$j 取不到
Console.WriteLine(Regex.Match($line,@"<title[^>]*>(.*?)</title>",RegexOptions.IgroneCase))
}
}
}Console.WriteLine(Regex.Match(strHtml,@"<title[^>]*>(.*?)</title>",RegexOptions.IgroneCase))