Someone asks me who did it if I answer
"It was she did"
Is it correct? Or is it preferable to say
"It was she who did it"
or other answer
English Language Learners Stack Exchange is a question and answer site for speakers of other languages learning English. It only takes a minute to sign up.Sign up to join this community
I actually did not know what you intended at first by It was she did: it simply isn't grammatical in English.
Once I saw your actual question, I realised that you are trying to omit a relative pronoun (who or that).
Relative pronouns can often be omitted;
It was the book that she was reading -> It was the book she was reading
but not in standard Englishes when they function as the subject of thre relative clause:
It was she who did it but not It was she did it.
(Some dialects do allow this, but not any standard English).
There is a further complication: do is not normally used without an object, unless it is acting as a sort of "pro-verb": referring back to an action already discussed.
Who ate the cake? She did! or It was her who did.
But without that prior question those sentences are very odd. It was her who did the shopping is fine.
So your It was she who did it is fine; but It was she who did would be odd without that context.
One final point: you may notice that I have use her in my examples, rather than she. The old-fashioned grammars all tell you that you should use she (he, I, we) after "to be" (is,was, etc). Many people still do so, especially in formal contexts. But most people, at least in everyday speech, use her (me, him, us).