我需要解析字符串从NHRM__Location__c
到Location
。我觉得很愚蠢,因为这不是我的第一个牛仔竞技表演。我不想在数组中添加代码。 NHRM
是一个命名空间,可能会根据谁在使用它而发生变化,因此在某些时候会是app.config文件中的一个键。解析字符串中的字符
我在想把__
这个字符串分开,然后把剩下的字加载到一个字符数组中并修剪掉那个人,但是我觉得我可能会对复杂的事情感到厌烦。
我需要解析字符串从NHRM__Location__c
到Location
。我觉得很愚蠢,因为这不是我的第一个牛仔竞技表演。我不想在数组中添加代码。 NHRM
是一个命名空间,可能会根据谁在使用它而发生变化,因此在某些时候会是app.config文件中的一个键。解析字符串中的字符
我在想把__
这个字符串分开,然后把剩下的字加载到一个字符数组中并修剪掉那个人,但是我觉得我可能会对复杂的事情感到厌烦。
使用此:
string sample = "NHRM__Location__c";
Console.WriteLine(sample.Split('_')[2]);
输入在连续有两个下划线,您正在拆分一个下划线。我认为当你分裂时,你会发现[2]位置的单词是单词“位置”,而不是[1]位置。此外,该方法是'拆分',而不是'拆分' –
谢谢你是这是位置2我觉得真的很愚蠢。我会在会后不久接受答案。敬请关注进修。 –
我已经使用这个代码把这个变成一个.Net Fiddle你:
using System;
public class Program
{
public static void Main()
{
string stringToSplit = "NHRM__Location__c"; // 2 underscores in each location
char[] sep = new char[] {'_', '_'};
string newString = stringToSplit.Split(sep)[2];
Console.WriteLine(newString);
}
}
我知道这是类似于第1的答案,但我只是想证明该[2]
确实工作,至少对我来说.net小提琴。
我希望这有助于!
更新
System.String
返回值 - 其元素包含从该实例中由一个或多个字符在分隔符分隔
所以字符串的数组如果我将代码更改为[4]
,那么它将返回c
..并且[0]
将返回NHRM
..数组值不包含分隔符
您的stringToSplit变量与OP的不一样。 – Bearcat9425
好吧,它的工作原理是因为你的输入与OP的不同 – Jonesopolis
原始输入字符串在一行中有两个下划线。你的只有一个。 –
“这可能是重复的,如果可以随时关闭。”这是否意味着在发布此消息之前,您没有尝试查找答案? – dfundako
https://msdn.microsoft.com/en-us/library/ms228388.aspx – BobSki
如果你可以保证'__',为什么不只是'str.Split(“__”)[1]' – Jonesopolis