PowerShell -Part 7 (598レス)
前次1-
抽出解除 レス栞

リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
423
(3): 04/26(土)01:37 ID:1l1C1hqe(1) AAS
外部リンク:pastebin.com
のHTMLソースから特定のDIVクラス「KW」とそのクラスないを削除する方法はありましでしょうか?
以下ではきえませんでした
# HTML読み込み
$targetDir = "D:\Download\test\sample.html"
$html = Get-Content "D:\Download\test\sample.html" -Raw

# KWクラスdivを正規表現で削除
$pattern = '<div\s+class="KW">[\s\S]*?<\/div>'
$modifiedContent = $htmlContent -replace $pattern, ''

# 結果出力
$processedHtml | Out-File "D:\Download\test\pit.html" -Encoding UTF8
424
(1): 04/26(土)21:00 ID:arwW7ZGW(1) AAS
>>423
なんで変数の対応がめちゃくちゃなの?
正規表現で力技でやるとこんなところだが
xmlとして読み込めばnode削除でいけそうな気がする
Add-Type -AssemblyName Microsoft.VisualBasic
$html = Get-Content "D:\Download\test\sample.html" -Raw

# KWクラスdivを正規表現で削除
$pattern = [regex]"^((?:(?'open'<div[^>]*?>[\r\n]*))|(?'close-open'</div>)|(?:(?!</?div[^>]*>)[\s\S])+?)*(?(open)(?!))"
$processedHtml=$pattern.replace($html,{
$r=$args.value
$e=0
$args.groups['3'].captures|
sort index|
?{$_.index+$_.length -gt $e -and $_.value -cmatch '<div.*class="KW"'}|
%{$e=$_.index+$_.length; $r=[Microsoft.VisualBasic.Strings]::replace($r,$_.value,"",1,1)}
$r
})
$processedHtml | Out-File "D:\Download\test\pit.html" -Encoding UTF8
426
(1): 04/27(日)15:25 ID:/1DxBHsK(1/2) AAS
>>425 (>>423と同一人物だよね)
>>424に礼を言ったうえで、どの点が自身の質問意図に合ってなかったか説明して、
それからもっと具体的に追加質問した方がいいと思うよ。
ところで「xmlとして読み込めばnode削除でいけそう」は試してから言ってるの?何が合わなかったの?
429: 04/27(日)20:24 ID:/O0GUF2P(2/4) AAS
>>426
試してませんでした
HTMLやxmlを扱うことはほぼ無いのであんまり知識が無い
で、>>423の場合では[xml]で読み込めてnode削除でうまくいくんだが
入れ子になってる場合
<div class="KW">
<span>
<div class="KW">
</div>
</span>
</div>
とかにはどうやったら簡単に対応できるのかと思ってるところ
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.033s