如何对长字符串进行切片并输出一部分文本

How to slice long string and output a portion of text

本文关键字:切片 输出 一部分 文本 字符串      更新时间:2023-09-26

我正在将用户的会话数据捕获到一个变量中,结果如下:

"192605238.|1=Identifiant=FSAPPS'BBF4U5C=1^2=Caisse=GTD95600=1^3=Editeur=False=1^5=Pvp=PVPTSP=1"

我正试图弄清楚如何捕获FSAPPS'之后和=之前的数据,所以在这种情况下,我只想输出BBF4U5C。这将是用户的登录名,长度可能会有所不同。

在这一点上寻求任何帮助。

试试这个:

var s = "192605238.|1=Identifiant=FSAPPS'BBF4U5C=1^2=Caisse=GTD95600=1^3=Editeur=False=1^5=Pvp=PVPTSP=1"
var res = s.split("FSAPPS")[1].split("=")[0];

这里有一种基于在字符串中查找开始索引和结束索引的方法。我不确定哪些部件是可靠的,哪些部件不是,但这将适用于您的特定用例。

var str = "192605238.|1=Identifiant=FSAPPS'BBF4U5C=1^2=Caisse=GTD95600=1^3=Editeur=False=1^5=Pvp=PVPTSP=1";
var start = str.indexOf("FSAPPS") + 6;
var end = str.indexOf("=1^2");
alert(str.substring(start, end));//alerts BBF4U5C

http://jsfiddle.net/7ssyub7a/

查找标识符的索引(第一个字母的索引),查找索引od"="(开始查找标识符)有了这个信息+已知长度的标识符,你可以很容易地提取包含你的登录名的子字符串,(没有破坏你的原始字符串的奖励点数)

var txt = 
"192605238.|1=Identifiant=FSAPPS'BBF4U5C=1^2=Caisse=GTD95600=1^3=Editeur=False=1^5=Pvp=PVPTSP=1";
var start = txt.indexOf("FSAPPS");
var end = txt.indexOf("=", start);
var login = txt.substring(start + 6, end);