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 的确切查询。