2016-04-04 7 views
0

Я хочу удалить одинарные кавычки из строки, как показано ниже.Удалить одинарные кавычки

Входной сигнал: 'Я 'Microsoft' разработчик'

Выход: Я Microsoft Developer


Входной сигнал: 'Давайте играть в 'большой' игры'

OutPut: Давайте играть в большую игру


Входной сигнал: 'Джеймс' Компьютер»

Выход: Джеймс Компьютер

Просьба предложить наилучший подход к ее достижению.

Спасибо.

+1

В * второй * пример: почему вы пощадить ' '' в 'Давайте '? –

+1

Что происходит с «Я невиновен»? –

+0

Посмотрите это http://stackoverflow.com/q/4215595/4517421, вы должны найти решение. – Neyoh

ответ

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('\''))); 

я удалял ', который в начале или в конце слова

Update:

, как Оливер Николс отметил, должно быть некоторые специальные случаи, такие как 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

Это хороший момент, вы можете проверить, заканчивается ли слово 's'', и в этом случае только обрезать в начале слова. я обновил свой ответ – fubo

0

Попробуйте

string origin = "Let's play a 'big' Game"; 
      string replaced = origin.Replace(" \'", " ").Replace("\' ", " "); 
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); 
+1

не работает с «компьютером Джеймса» – fubo

+0

Ах, у меня есть компьютер с ним! –

Смежные вопросы