我有一个字符串变量,其中包含如下文本:
"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);
但我想这是错误的。
我有一个字符串变量,其中包含如下文本:
"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);
但我想这是错误的。
Char Mychar = '.';
Stringvariabel = Stringvariabel.Split(Mychar).First() + Mychar.toString();
The simplest way would be to take the substring up until the first occurrence of the character.
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)
}
Alternately, to avoid worrying about the case where there is no '.', you could use stringvariable.Split('.')[0]
.
If you're only interested in the first sentence, then just grab a substring starting at the beginning and ending at the '.'.
Stringvariabel.Substring(0, Stringvariabel.IndexOf('.') + 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());
使用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);
一种方便的方法是使用string.Split
并要求仅第一部分:
var firstPart = input.Split(new[] { '.' }, 1).First();
这是非常有效的,因为它不会在第一个点之后继续处理字符串,但它会删除该点(如果它存在)并且您将无法首先判断是否有一个点。
另一个选项是string.IndexOf
条件:
var index = input.IndexOf(".");
if (index != -1) {
input = input.SubString(0, index);
}
TrimStart
从您给它的列表中的字符串开头删除字符。它只会删除 a.
如果它在一开始就出现。
您可以找到第一个.
并在该点之前获取一个子字符串:
stringVar.Substring(0, stringVar.IndexOf('.') + 1);
您可以执行以下操作
stringVariable.Split('.')[0]
或者
stringVariable.SubString(0, stringVariable.IndexOf(".") + 1)
希望这可以帮助!!
Without split, only using Substring
and IndexOf
(which is more efficient when the text is very large):
int index = text.IndexOf(".") + 1;
String result = text;
if(index > 0)
result = text.Substring(0, index);
看一下String.Split方法。
var myString = "Hello My name is B and I love soccer. I live in California. ";
var firstPart = myString.Split('.')[0];
var splitLine = yourString.Split('.');
if (splitLine != null && splitLine.Count > 0)
return splitLine[0];
variablename.Substring(0, variablename.IndexOf('.') + 1);
请注意 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;