可能重复:
Remove characters after specific character in string, then remove substring?
我有一个包含如下文本的字符串变量:
"Hello My name is B and I love soccer. I live in California."
我想在第一个'。'之后剪切文字。所以文字显示
"Hello My name is B and I love soccer."
我怎样才能以最简单的方式做到这一点?
我试过了:
Char Mychar = '.';
Stringvariabel.trimstart(Mychar);
但我猜这是错的。
答案 0 :(得分:2)
Char Mychar = '.';
Stringvariabel = Stringvariabel.Split(Mychar).First() + Mychar.toString();
答案 1 :(得分:1)
您可以使用string.Split来获得结果:
string input = "Hello My name is B and I love soccer. I live in California. ";
string result = string.Format("{0}.", input.Split('.').First());
答案 2 :(得分:1)
利用IndexOf
功能将为你工作..
string input = "Hello My name is B and I love soccer. I live in California. ";
int i = input .IndexOf('.');
string result = s.Substring(0,i+1);
答案 3 :(得分:1)
一种方便的方法是使用string.Split
并仅询问第一部分:
var firstPart = input.Split(new[] { '.' }, 1).First();
这非常有效,因为它不会在第一个点之后继续处理字符串,但它会删除点(如果它存在)并且您将无法判断是否首先存在点。
另一个选项是string.IndexOf
和条件:
var index = input.IndexOf(".");
if (index != -1) {
input = input.SubString(0, index);
}
答案 4 :(得分:1)
TrimStart
从您提供的列表中的字符串开头删除字符。如果它出现在最开始,它只会删除.
。
您可以找到第一个.
并获取到该点的子字符串:
stringVar.Substring(0, stringVar.IndexOf('.') + 1);
答案 5 :(得分:1)
您可以执行以下操作
stringVariable.Split('.')[0]
或
stringVariable.SubString(0, stringVariable.IndexOf(".") + 1)
希望这有助于!!
答案 6 :(得分:1)
最简单的方法是将子字符串放到第一次出现的字符之前。
public string TrimAtFirstChar(string s, char c)
{
int index = s.IndexOf(c);
if(index == -1) //there is no '.' in the string
return s;
return s.Substring(0, index)
}
或者,为避免担心没有'。'的情况,您可以使用stringvariable.Split('.')[0]
。
答案 7 :(得分:1)
如果你只对第一句话感兴趣,那么只需从开始处开始并在'。'处结束一个子字符串。
Stringvariabel.Substring(0, Stringvariabel.IndexOf('.') + 1);
答案 8 :(得分:0)
查看String.Split方法。
var myString = "Hello My name is B and I love soccer. I live in California. ";
var firstPart = myString.Split('.')[0];
答案 9 :(得分:0)
var splitLine = yourString.Split('.');
if (splitLine != null && splitLine.Count > 0)
return splitLine[0];
答案 10 :(得分:0)
variablename.Substring(0, variablename.IndexOf('.') + 1);
答案 11 :(得分:0)
没有拆分,只使用Substring
和IndexOf
(当文字非常大时效率更高):
int index = text.IndexOf(".") + 1;
String result = text;
if(index > 0)
result = text.Substring(0, index);
答案 12 :(得分:0)
请注意,String.Split()可能会产生影响,因为您创建的数组包含由给定分隔符分隔的所有子字符串,但您只对第一次出现感兴趣。所以使用IndexOf()和Substring()会更有意义。
string input = "Hello My name is B and I love soccer. I live in California. ";
var index = input.IndexOf(".");
var result = index > 0
? input.Substring(0, index)
: input;