c# - 在 C# 中的特定字符之后获取部分字符串/数字
问题描述
我想知道如何从用户发送的消息中拆分特定字符串看起来像这样
"username: @newbie <----- need to recive the all string with the '@'
password: 1g1d91dk
uid: 961515154 <-- always string of 9 numbers
message: blablabla < ---- changing anytime how can i recive the string after message:"
date: 30/06/18"
mnumer: 854762158 <-- always string of 9 numbers to but i want to upper one
我的意思是在“uid:”之后获得9 位数字?
非常感谢 !我发现了一个类似的问题,但没有一个回答我的问题对不起我的英语不是母语的拼写
解决方案
你能不能简单地用新行分割字符串,.Split('\n')
这会给你一个string[]
,然后在每个元素中分割,':'
然后读取第二个值?Dictionary<string, string>
如果您需要通过第一位引用,您可以将其存储在
string inString = @"username: @newbie
password: 1g1d91dk
uid: 961515154
message: blablabla
date: 30/06/18
mnumer: 854762158";
string[] lines = inString.Split('\n');
Dictionary<string, string> data = new Dictionary<string, string>();
foreach (string line in lines)
{
// There are two ways to avoid splitting multiple : and just using the first
// Here is my way
string[] keyValue = line.Split(':');
data.Add(keyValue[0].Trim(), string.Join(':', keyValue.Skip(1).ToArray()).Trim());
// Here is another way courtesy of: Dmitry Bychenko
string[] keyValue = line.Split(new char[] {':'}, 2);
data.Add(keyValue[0].Trim(), keyValue[1].Trim());
}
这将为您提供一个字典,您可以在其中通过第一部分访问字符串每个部分的值。
不确定您的用途是什么,但这会有所帮助。
你可以uid
通过做得到data["uid"]
推荐阅读
- java - 为什么我的重写paintComponent方法没有被调用
- python - 在第三个中创建两个模型之间的关系
- json - jq 将命名数组转换为列表
- asynchronous - 我怎样才能等待一个变量
- scala - Spark Sql 排序操作无法正常工作
- php - 如何更改数组中的结果?
- javascript - 切换功能有效,但 jQuery 中的 slideToggle 无效
- r - 一旦我在 Quantstrat R 中有一个职位,就停止添加更多职位
- javascript - HTTP 错误:400,请求有错误错误:函数未正确部署。firebase-实时数据库
- java - 如何从 Servlet 获取和 XML 文件