在C中每次在特殊字符之前切割一个字符串
我有所有字符串都有不同的长度。 例如在C中每次在特殊字符之前切割一个字符串
str1 = "This is new job ----First Message----- This is reopened ";
str2 = "Start Process ----First Message----- Is this process closed? <br/> no ----First Message-----";
现在这些字符串应该总是有"----First Message-----"
在里面。 我需要的是修剪或拆分字符串,使得我只能得到第一次出现"----First Message-----"
的部分。
所以在str1
结果的情况下应该是“这是新的工作” 对于str2
应该"Start Process "
如何在C#做什么?
string stringStart = str1.Substring(0, str1.IndexOf("----First Message-----"));
这将返回你想要的字符串所以如果你想稍后使用它,请确保将它捕获到变量中,等等。它不会修改str1的内容。 http://msdn.microsoft.com/en-us/library/aka44szs.aspx – 2012-02-22 22:36:30
@JoshP感谢指出,我已经编辑了答案,将其考虑在内。 – phoog 2012-02-22 22:38:01
完美答案。非常感谢。 – user970225 2012-02-22 23:14:12
String result = input.Substring(0, input.IndexOf('---FirstMessage-----'));
实际上,用于教学目的...
private String GetTextUpToFirstMessage(String input){
const string token = "---FirstMessage-----";
return input.Substring(0, input.IndexOf(token));
}
这听起来像是正则表达式工作!!!!
请尝试以下代码。不要忘记在顶部包含using System.Text.RegularExpressions;
声明。
Regex regex = new Regex(@"^(.*)----FirstMessage----$");
string myString = regex.Match(str1).Value;
你可以检查这个问题http://*.com/questions/19131758/how-to-split-a-string-into-an-array-of-strings – Anjali 2013-10-02 15:00:50
现在你有两个问题.... $在最终将确保您不会与问题中的数据匹配。 – 2017-09-05 21:34:02
的可能的复制[获取子字符串 - 某些字符之前的一切(http://*.com/questions/1857513/get-substring-everything-before-certain-char) – 2017-01-14 12:35:49