过滤变量中的文本

  • 本文关键字:文本 变量 过滤 c#
  • 更新时间 :
  • 英文 :


我有一个变量(serial_and_username_and_subType),它包含这种类型的文本:

CT-AF-23-GQG %username1% *subscriptionType*
DHR-345349-E %username2% *subscriptionType*
C3T-AF434-234-GQG %username3% *subscriptionType*
34-7-HHDHFD-DHR-345349-E %username4% *subscriptionType*

示例:ST-NN1-CQ-QQQ-G12 %RandomDUDE12% *Lifetime*

之后,我有一个IF指令,检查用户输入的内容是否存在于serial_and_username_and_subType中。

如果(userInput。包含(serial_and_username_and_subType ))......

那么,我想做的(但我有麻烦)是,当有人输入一个串行时,程序打印透视用户名和订阅:

例如:

Please enter your Serial:
> ST-NN1-CQ-QQQ-G12
Welcome, RandomDUDE12!
You currently have a Lifetime subscription!

有没有人知道一个方法或一种方式来获得我需要什么?

您已经在使用Contains()了。你还可以使用

  • Substring ()
  • 分裂()
  • IndexOf ()

Split()可能是最简单的一个,只要您可以保证%*都不是串行,用户名或许可证的一部分:

var s = "ST-NN1-CQ-QQQ-G12 %RandomDUDE12% *Lifetime*";
var splitPercent = s.Split('%');
Console.WriteLine(splitPercent[1]);
var splitStar = s.Split('*');
Console.WriteLine(splitStar[1]);

只要你只有几个许可证(也许几千个就可以了,因为pc速度很快),这种方法就可以工作得很好。如果您有很多许可证(比如数百万个),您可能希望分离所有这些信息,使其不是字符串,而是数据结构。然后,您将使用字典并直接访问信息,而不是遍历所有信息。

相关内容

  • 没有找到相关文章

最新更新