C#上的修整度符号

问题描述

谁能告诉我为什么这不起作用:

string txt = "+0°1,0'";
string degree = txt.TrimEnd('°');

我正在尝试分隔此字符串上的度数,但是此后,度数上剩下的是txt的相同内容

我在Visual Studio中使用C#。

解决方法

string.TrimEnd最后删除char。在您的示例中,“°”不是结尾。

例如:

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

来删除字符串中出现的 all 个符号。
string txt = "+0°1,0'°°";
var text = txt.Replace(@"°",""); // +01,0'

编辑:添加了一种安全的方式来处理OP的确切查询。