我想从字符串中删除单引号,如下例所示。
输入:'我是'微软'显影剂'
OutPut:我是微软开发人员
输入:'让我们玩一个大的'游戏'
OutPut:让我们玩一场大游戏
输入:'詹姆斯'计算机'
OutPut:詹姆斯'计算机
请提出实现目标的最佳方法。
感谢。
答案 0 :(得分:4)
你去吧
string Input1 = "'I am a 'microsoft' developer'";
string Input2 = "'Let's play a 'big' Game'";
string Result1 = string.Join(" ", Input1.Split(' ').Select(x => x.Trim('\'')));
string Result2 = string.Join(" ", Input2.Split(' ').Select(x => x.Trim('\'')));
我删除位于单词开头或结尾的每个'
<强>更新强>
正如Oliver Nicholls指出的那样,应该有一些像James'
这样的特殊情况。在这种情况下,应保留'
。例如:
string Input3 = "'Let's play James' Game'";
string Result3 = string.Join(" ", Input3.Split(' ').Select(x => !x.EndsWith("s'")?x.Trim('\''): x.TrimStart('\'')));
答案 1 :(得分:0)
试试这个
string origin = "Let's play a 'big' Game";
string replaced = origin.Replace(" \'", " ").Replace("\' ", " ");
答案 2 :(得分:0)
只需删除不在单词内的引号:
string t = "'Let's play a 'big' Game'";
string[] words = t.Split(' ');
string res = "";
for (int i = 0; i < words.Length; i++)
{
res += words[i].Trim('\'') + "";
if ((words.Length - 1) > i)
{
res += " ";
}
}
Console.WriteLine(res);