asp.net查找substring Indexof

时间:2018-01-09 13:28:47

标签: asp.net substring

我需要从以下字符串中获取@@ token @@之前和之后的2个子串S1和S2

body:last-child

S1将为'15d7b736-d8f0-e711-b842-100ba9d19b04'

但我不确定如何获得S2? S2应为'131599776034855065'

任何帮助:)

2 个答案:

答案 0 :(得分:0)

尝试:

string s = "15d7b736-d8f0-e711-b842-100ba9d19b04@@token@@131599776034855065";
string str1 = s.Substring(0, s.IndexOf("@"));
string str2 = s.Substring(s.LastIndexOf("@")+1, s.Length -1 - s.LastIndexOf("@"));

或者另一种方法是根据@@token@@分割字符串:

string[] strArr = s.Split(new string[] { "@@token@@" }, StringSplitOptions.None); 

str[0]="15d7b736-d8f0-e711-b842-100ba9d19b04"

str[1]="131599776034855065"

注意:

要拆分基于字符串的字符串,您应该使用拆分字符串数组重载。

答案 1 :(得分:0)

使用 lastIndexOf() 方法获取。

string Token = "15d7b736-d8f0-e711-b842-100ba9d19b04@@token@@131599776034855065";
string delimitter = "@@token@@";
string S1 = Token.Substring(0, Token.IndexOf(delimitter));
string S2 = Token.Substring(Token.LastIndexOf(delimitter) + delimitter.Length, Token.Length - delimitter.Length - S1.Length );
Console.WriteLine(S1); // or print(s1)
Console.WriteLine(S2); //or print(s2)