返回列表 发帖
固定循环10次=。=
我觉得用我的将【替换为 "# ,将】替换为" ,直接达到分句效果会更好一点,for循环可以直接取出有用的句子。

去除重复,因为整个文章不长,一个变量可以放的下,就再可以用ZM那种按标点符号分句,然后匹配每个小句是否重复。

如果是不确定的长度,10次不确定,一个变量存放整个纹章也不够。

TOP

循环1000次也没什么影响的,因为for的输入为空,循环数就只是微调

TOP

30# zm900612

22?你真的要去小学进修了,哈哈。。。
***共同提高***

TOP

“将【替换为 "# ,将】替换为" ,直接达到分句效果”,这个倒是好办法,没想到

TOP

等下试外部看怎么样
@echo off
(echo Set oDOM=WScript.GetObject("http://bbs.tt365.net.cn/viewthread.php?tid=161145"^)
echo Do Until oDOM.readyState="complete"
echo WScript.sleep 300
echo Loop
echo WScript.echo oDOM.documentElement.outerText)>%temp%\tem.vbs
setlocal enabledelayedexpansion
(
for /f "delims=" %%i in ('cscript //nologo "%temp%\tem.vbs"^|find "【"') do (
    set var=&set "str=%%i"
    set "str=!str:*【=【!"
    set "str=!str:【= 【!"
    set "str=!str:】=】 !"
    for %%j in (!str!) do (
        set "j=%%j"
        if "%%j" neq  "!j:【=!" (
           if defined var (
              for /f "delims=【】" %%k in ("%%j") do (
                      if "!var:%%k=!" equ "!var!" set var=!var!%%k
              )
           )else set var=%%j
        )
    )
    for %%j in (!var!) do echo %%j
)
)>tem.txt
del %temp%\tem.vbs&start "" tem.txt
pauseCOPY

TOP

35# terse
结果仍有重复,请兄再测试修改。。。
***共同提高***

TOP

我的解:
@echo off&setlocal enabledelayedexpansion
more +27 %~fs0>temp.vbs
temp.vbs&del /q temp.vbs&set /a n+=1
(for /f "delims=" %%a in ('findstr "【" a.txt') do (
    set "str=%%a"
    set "str=!str:【= !"&set "str=!str:】=$ !"
    for %%a in (!str!) do (
        set "a=%%a"&set "flag="&set "var=!a:~,-1!"
        if "!a:~-1!" equ "$" (
           for %%a in (!var!) do (
               if defined str!n! for /l %%b in (1,1,!n!) do if "!str%%b:%%a=!" neq "!str%%b!" set "flag=a"
               if not defined flag (
                  echo%%a
                  for %%b in (!n!) do (
                      set "a=!str%%b! %%a"
                      if "!a:~8000!" equ "" (
                         set "str%%b=!a!"
                         ) else (
                         set /a n+=1&set "str!n!=%%a"
                      )
                  )
               )
            )
         )            
     )
))>$
move $ a.txt&start a.txt&goto :eof
Set http = createObject("Microsoft.XMLHTTP")
http.Open "get" , "http://bbs.tt365.net.cn/viewthread.php?tid=161145" , 0
http.send()
Set myGet = createObject("ADODB.Stream")
myGet.Mode = 3
myGet.Type = 1
myGet.Open()
myGet.Write(http.responseBody)
myGet.SaveToFile "a.txt" , 2
myGet.Close
Set myGet = Nothing
Set http = NothingCOPY
***共同提高***

TOP

返回列表