Comment les remplacer par JSL avec une substitution régulière ?Ceci est copié dans le navigateur. Comment utiliser la substitution régulière de JSL est traitée en JSL syntaxique avec les exigences suivantes :
1, contient POST......HTTP/1.1 remplacé par : u="...";h=[=>];
2, contenant :, écrire h
3. La dernière ligne..., remplacez par : jj="...";rs=New HTTP Request(URL(u),Method("POST"),JSON(jj),Headers(h));
Merci!
POST https://app.com/w1/api HTTP/1.1
Host: apparticle.longhuvip.com
Connection: keep-alive
Content-Length: 87
Accept: application/json, text/javascript, */*; q=0.01
Origin: https://app.com
User-Agent: Mozilla/5.0 (Linux); 5.11.0.6
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Referer: https://appp.com/w33/community/refreshKey=1696089600
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,en-US;q=0.8
X-Requested-With: com.aiyu.kaipanla
c=ForumsMsgJX&a=GetInfo&MsgID=30927&Tag=1&DeviceID=ffffffff-e4d8-03bc-ffff-ffffb561792e
Automatisation et scripts回复: Comment les remplacer par du JSL avec une substitution régulière ?
u="https://app.com/w1/api";h=[=>];
h["Host"]="apparticle.longhuvip.com";
h["Connection"]="keep-alive";
h["Content-Length"]="87";
h["Accept"]="application/json, text/javascript, */*; q=0.01";
h["User-Agent"]="Mozilla/5.0 (Linux); 5.11.0.6";
h["Content-Type"]="application/x-www-form-urlencoded; charset=UTF-8";
h["Accept-Encoding"]="gzip, deflate";
h["Accept-Language"]="zh-CN,en-US;q=0.8";
h["X-Requested-With"]="com.aiyu.kaipanla";
jj="c=ForumsMsgJX&a=GetInfo&MsgID=30927&Tag=1&DeviceID=ffffffff-e4d8-03bc-ffff-ffffb561792e";
rs=New HTTP Request(URL(u),Method("POST"),JSON(jj),Headers(h));
rr=rs<<SEND></SEND>回复: Comment les remplacer par du JSL avec une substitution régulière ?text=Get Clipboard();
txt = Regex(text, "^POST (.+?) HTTP\/1.1\!n", "u=\!"\1\!";h=[=>];");
txt = Substitute(text, "^(.+?): (.+?)\!n", "h[\!"\1\!"]=\!"\2\!";");
??
Merci les experts !

Re : Comment les remplacer par JSL avec substitution regex ?J'utiliserais Words() et le diviserais pour que chacune des lignes soit son propre élément dans une liste. Ensuite, je bouclerais sur ceux-ci et construirais le tableau associatif au fur et à mesure. Divisez sur ":", la première partie comme clé et la seconde comme valeur (formatez selon les besoins). Dernière ligne que j'ignorerais dans la boucle et que je construirais séparément
Re : Comment les remplacer par JSL avec substitution regex ?Re : Comment les remplacer par JSL avec substitution regex ?Cela pourrait donner une idée
Names Default To Here(1);
aa_headers = Associative Array();
str = "POST https://app.com/w1/api HTTP/1.1
Host: apparticle.longhuvip.com
Connection: keep-alive";
For Each({line}, Words(str, "\!N"),
rgx_match = Regex(line, "^.*?: ");
If(!IsMissing(rgx_match), // not the most robust
aa_headers[Word(1, line, ":")] = Substitute(line, rgx_match, "");
);
);
show(aa_headers);
la création d'une liste de clés possibles pour un tableau associatif est probablement plus robuste si elle reste la même
Re : Comment les remplacer par JSL avec substitution regex ?Merci les experts !
str = "POST https://app.com/w1/api HTTP/1.1
Host: apparticle.longhuvip.com
Connection: keep-alive";
Re : Comment les remplacer par JSL avec substitution regex ?Index des scripts

et documentation JMP N articles() a les informations pour vous
Re : Comment les remplacer par JSL avec substitution regex ?Merci!

Re : Comment les remplacer par JSL avec substitution regex ?Jsees d'EmEditor
document.selection.Replace("POST (.[^ ]{0,}) HTTP\\/1\\.1","u=\"\\1\";h=[=>];",eeReplaceAll | eeFindReplaceRegExp,0);
document.selection.Replace("^(.{0,}): (.{0,})$","h[\"\\1\"]=\"\\2\";",eeReplaceAll | eeFindReplaceRegExp,0);Re : Comment les remplacer par JSL avec substitution regex ?Pourquoi avez-vous besoin du nombre d’articles ? Str est une chaîne, pas une liste, vous ne pouvez donc pas y utiliser N éléments (vous devez utiliser la version splittée que vous obtenez en utilisant Words()).
Re : Comment les remplacer par JSL avec substitution regex ?