从String中删除子字符串

时间:2016-11-15 10:46:56

标签: c# string substring

有没有办法根据任何标识符从字符串中删除子字符串?

例如,我有:

string codeID = "347439>Dome";

我希望只有>

之前出现的那部分字符串

结果应如下所示:

string newCodeId = "347439"

有可能吗?

6 个答案:

答案 0 :(得分:4)

这可能是另一种可能性:

string codeID = "347439>Dome";

string newCodeId = codeID.Split('>')[0];

Console.WriteLine(newCodeId);

它使用返回string[]的{​​{3}}方法。为了获得string的左侧部分,我获取了数组中的第一个元素。字符串的其余部分(在这种情况下)位于1

如果字符串中没有>分隔符。它将仅返回位置[0]

中的整个旧字符串

答案 1 :(得分:3)

您可以使用Split()方法:

string codeID = "347439>Dome";
string result = codeID.Split('>')[0];

答案 2 :(得分:0)

这应该取代您的'>'

之后的所有内容
var newCodeId = Regex.Replace(codeID , "[>].*", string.Empty, RegexOptions.IgnoreCase)

答案 3 :(得分:0)

我同意Fubo的回答,但你也可以使用string.split()函数拆分字符串。并且可以取第一个索引值。

string codeID = "347439>Dome";
string result = codeID.Split('>')[0];

答案 4 :(得分:0)

您也可以使用System.Linq:

string result = codeID.Split('>').First();

答案 5 :(得分:0)

方法:SubString()

string codeID = "347439>Dome";
char splitChar = '>';
if (codeID.Contains(splitChar))
{
 int charIndex = codeID.IndexOf(splitChar);
 string subString = codeID.Substring(0,charIndex);
}