Tweetのハッシュタグ認識

眠いです。嘘です。しっかりやります。
Tweetの中からハッシュタグのみを取り出し、加工します。

眠いです。嘘です。しっかりやります。
Tweetの中からハッシュタグのみを取り出し、加工します。

#ifndef __HasyuTag__
#define __HasyuTag__
#include "kernel32.as"
#module

//--------------------------------------------------------------------------------------------------
/*

%index 
Tag
ツイートの解析

%prm
p1,p2,p3
p1 = 文字列 ; 解析結果が入ります
p2 = 文字列 : 解析するツイート
p3 = 文字列 : 解析したハッシュタグが代入されます

%
%*/
//--------------------------------------------------------------------------------------------------
#deffunc Tag var p1, str p2, var p3
miku = p2

value = instr(miku, , "#") + 1
getstr buf, miku, value, , instr(miku, value, "」")

MultiByteToWideChar 0, 0, varptr(buf), -1, 0, 0

if stat<3 {
	
	getstr buf, miku, value, , instr(miku, value, "-")
	MultiByteToWideChar 0, 0, varptr(buf), -1, 0, 0
	if stat<3 {
		
		getstr buf, miku, value, , instr(miku, value, "【")
		MultiByteToWideChar 0, 0, varptr(buf), -1, 0, 0
		if stat<3 {

			getstr buf, miku, value, , instr(miku, value, "?")
			MultiByteToWideChar 0, 0, varptr(buf), -1, 0, 0
			if stat<3 {

				getstr buf, miku, value, , instr(miku, value, "!")
				MultiByteToWideChar 0, 0, varptr(buf), -1, 0, 0
				if stat<3 {

					getstr miku, alt, value, , instr(miku, value, " ")
					MultiByteToWideChar 0, 0, varptr(buf), -1, 0, 0
					if stat<3 {
					}
				}
			}
		}
	}

;この時点で[buf]にはハッシュタグのみが入っています
p3 = buf

split miku,"#",tweet1,tweet2,tweet3

kome="!#"+buf+"!";ハッシュタグの処理

bad=tweet1+kome

;ハッシュの処理
split miku,"#",mes1,mes2
;mes2に基本的に#以降が入る
split mes2," ",me1,me2
a=0;←こいつで判断

;分割 ハッシュタグ以降を切り取る
if strlen(me2)=0 {
	split mes2,"」",m1,m2
	a++
	if strlen(m2)=0 {
		split mes2,"-",ai,sou
		a++
		if strlen(sou)=0 {
			split mes2,"「",itibann,takara
			a++
			if strlen(takara)=0 {
				split mes2,"☆",yui,yuri
				a++
				if strlen(yuri)=0 {
					split mes2,"★",hinata,otonasi
					a++
					if strlen(otonasi)=0 {
						split mes2,"?",a1,a2
						a++
						if strlen(a2)=0 {
							split mes2,"【",a3,a4
							a++
							if strlen(a4)=0 {
								split mes2,"!",a5,a6
								a++
							}
						}
					}
				}
			}
		}
	}
}
if a=1 : op="」" : mes2=m2
if a=0 : op=" "  : mes2=me2
if a=2 : op="-"  : mes2=sou
if a=3 : op="「" : mes2=takara
if a=4 : op="☆" : mes2=yuri
if a=5 : op="★" : mes2=otonasi
if a=6 : op="?"  : mes2=a2
if a=7 : op="【" : mes2=a4
if a=8 : op="!"  : mes2=a6

angel=bad+op+mes2

p1=angel
return stat
#global