0

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

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

我试图分离这个字符串上的度数,但在此之后,度数上剩下的就是txt的相同内容。

我在 Visual Studio 中使用 C#。

4

3 回答 3

4

string.TrimEnd删除末尾的字符。在您的示例中,“°”不在末尾。

例如 :

string txt = "+0°°°°";
string degree = txt.TrimEnd('°');
// degree => "+0"

如果要删除“°”和所有下一个字符,您可以:

string txt = "+0°1,0'";
string degree = txt.Remove(txt.IndexOf('°'));
// degree => "+0"
于 2020-08-19T11:24:44.507 回答
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 的确切查询。

于 2020-08-19T11:38:34.857 回答
1
string txt = "+0°1,0'";
if(txt.IndexOf('°') > 0) // Checking if character '°' exist in the string
{
   string withoutdegree = txt.Remove(txt.IndexOf('°'),1);
}
于 2020-08-19T11:26:59.737 回答