C# 上的微调度数符号
Trimming degree symbol on C#
谁能告诉我为什么这不起作用:
string txt = "+0°1,0'";
string degree = txt.TrimEnd('°');
我想把这个字符串的度数分开,但是在这之后,度数上剩下的就是txt的相同内容。
我在 Visual Studio 中使用 C#。
string.TrimEnd 删除末尾的字符。在您的示例中,“°”不在末尾。
例如:
string txt = "+0°°°°";
string degree = txt.TrimEnd('°');
// degree => "+0"
如果要删除“°”和所有后续字符,您可以:
string txt = "+0°1,0'";
string degree = txt.Remove(txt.IndexOf('°'));
// degree => "+0"
string txt = "+0°1,0'";
if(txt.IndexOf('°') > 0) // Checking if character '°' exist in the string
{
string withoutdegree = txt.Remove(txt.IndexOf('°'),1);
}
另一种安全的处理方法是使用 String.Split 方法。在这种情况下,您将不必费心验证字符是否存在。
string txt = "+0°1,0'";
var str = txt.Split('°')[0]; // "+0"
string txt = "+01,0'";
var str = txt.Split('°')[0]; // "+01,0'"
您可以使用它来删除 所有 字符串中存在的“°”符号 String.Replace
string txt = "+0°1,0'°°";
var text = txt.Replace(@"°", ""); // +01,0'
编辑:添加了一种安全的方式来处理 OP 的确切查询。
谁能告诉我为什么这不起作用:
string txt = "+0°1,0'";
string degree = txt.TrimEnd('°');
我想把这个字符串的度数分开,但是在这之后,度数上剩下的就是txt的相同内容。
我在 Visual Studio 中使用 C#。
string.TrimEnd 删除末尾的字符。在您的示例中,“°”不在末尾。
例如:
string txt = "+0°°°°";
string degree = txt.TrimEnd('°');
// degree => "+0"
如果要删除“°”和所有后续字符,您可以:
string txt = "+0°1,0'";
string degree = txt.Remove(txt.IndexOf('°'));
// degree => "+0"
string txt = "+0°1,0'";
if(txt.IndexOf('°') > 0) // Checking if character '°' exist in the string
{
string withoutdegree = txt.Remove(txt.IndexOf('°'),1);
}
另一种安全的处理方法是使用 String.Split 方法。在这种情况下,您将不必费心验证字符是否存在。
string txt = "+0°1,0'";
var str = txt.Split('°')[0]; // "+0"
string txt = "+01,0'";
var str = txt.Split('°')[0]; // "+01,0'"
您可以使用它来删除 所有 字符串中存在的“°”符号 String.Replace
string txt = "+0°1,0'°°";
var text = txt.Replace(@"°", ""); // +01,0'
编辑:添加了一种安全的方式来处理 OP 的确切查询。