有三种字符串:
直到左括号,每个字符串都是常量。括号之间的数字将改变,所有三个字符串的长度可以是一个,两个或三个字符。日期将是当天的日期。
我想删除括号和它们之间的数字。期望的结果如下:
任何帮助都将不胜感激。
答案 0 :(得分:2)
string MyString = "string(1)_2013-02-15";
int firstParenIndex = MyString.IndexOf("(");
int secondParenIndex = MyString.IndexOf(")");
string String1 = MyString.Substring(0,firstParenIndex);
string String2 = MyString.Substring(seconParenIndex+1);
string finalString = String1 + String2;
答案 1 :(得分:2)
使用普通String
方法:
int leftBrace = str1.IndexOf('(');
int rightBrace = str1.IndexOf(')', leftBrace);
str1 = str1.Remove(leftBrace, rightBrace - leftBrace + 1);
答案 2 :(得分:2)
var input = "string(1)_2013-02-15";
var result = Regex.Replace(input, "\\([0-9]+\\)", string.Empty);
答案 3 :(得分:1)
您可以使用string.split('(')并删除该方式,例如,如果您知道只有一组括号:
public string RemoveBrackets(string Message)
{
string temp1 = Message.Split('(')[0];
string temp2 = Message.Split(')')[1];
string newMessage = temp1 + temp2;
return newMessage;
}
无论如何,这样的东西:)
答案 4 :(得分:0)
试试这个:
int index1 = test2.IndexOf('(');
int index2 = test2.LastIndexOf(')', index1 + 1);
string result2 = test2.Remove(index1, index2 - index1);
答案 5 :(得分:0)
考虑到9999年的日期部分的长度,这足够远,你可以通过减少一个电话来优化你的代码(找到第二个括号的位置如下:
string s = "something(123)_2013-02-16";
string result = s.Substring(0, s.IndexOf("(")) + s.Substring((s.Length - 11), 11);
答案 6 :(得分:0)
即使字符串的第一部分包含Substring()
和/或 LastIndexOf()
,也可以使用(
和)
方法。
string s = "string(1)_2013-02-15";
s = s.Substring(0, s.LastIndexOf('(')) + s.Substring(s.LastIndexOf(')')+1);