c#中一个字符串P1中包含长度不等的空格,想要将单独存在的‘-’删掉
时间: 2024-11-09 11:27:00 浏览: 5
在 C# 中,如果你想从一个字符串 `P1` 中删除所有单独存在的减号 `-`,你可以使用 `Replace` 或者 `StringBuilder` 类结合循环的方式来实现。这里提供两个简单的示例:
**使用 Replace() 方法:**
```csharp
string P1 = "这是-a-字符串 包含 - 和 -";
string result = P1.Replace("-", "");
```
这会直接替换所有的 `-` 为空字符串。
**使用 StringBuilder 类:**
```csharp
string P1 = "这是-a-字符串 包含 - 和 -";
StringBuilder sb = new StringBuilder();
bool prevWasDash = false;
foreach (char c in P1)
{
if (c != '-')
{
sb.Append(c);
prevWasDash = false;
}
else if (!prevWasDash)
{
// 如果前一个字符不是 `-`,这次才是孤立的 `-`
sb.Append(c);
prevWasDash = true;
}
}
string result = sb.ToString();
```
这个版本会在遇到非 `-` 的字符时添加,并跟踪是否连续有两个 `-`。
相关问题
C#判断一个字符串是否全部为空格的一个简单方法
可以使用Trim()函数来判断一个字符串是否全部为空格。如果原字符串全部为空格,那么使用Trim()函数处理后得到的字符串长度为0。例如:
```csharp
string str = " ";
if(str.Trim().Length == 0)
{
// 字符串全部为空格
}
else
{
// 字符串不全为空格
}
```
C#删除字符串的空格
在 C# 中,你可以使用 `string.Replace` 方法来删除字符串中的空格。你可以将空格字符(`' '`)替换为一个空字符串(`""`),如下所示:
```csharp
string str = "Hello, World!";
string newStr = str.Replace(" ", "");
Console.WriteLine(newStr); // 输出:Hello,World!
```
上述代码将字符串 `str` 中的空格替换为空字符串,并将结果保存在变量 `newStr` 中。然后,通过 `Console.WriteLine` 方法将新字符串输出到控制台。
阅读全文