Word for who professes discrimination based on culture
A person that professes discrimination based on race is a racist.
What is the word for defining a person that discriminates based on culture (pretty sure it is not culturist) or social habits?
E.g., Eric Cartman doesn't like hippies, he discriminates against them. But a hippie is not a race, an ethnic, a religion or a nationality. It is a life style not related to any of these.
Solution 1:
Snob is probably the word you're looking for. A more precise, but less common word might be ethnocentrist. Other possibilities: elitist, jingoist.
Snob from Merriam-Webster: "one who tends to rebuff, avoid, or ignore those regarded as inferior"
Ethnocentrist, the adjectival or noun form of ethnocentrism from the ODO: "Evaluation of other cultures according to preconceptions originating in the standards and customs of one's own culture."
Elitist from the ODO: "A person who believes that a society or system should be led by an elite."
Jingoist from Merriam-Webster: "extreme chauvinis[t] or nationalis[t] marked especially by a belligerent foreign policy."
Solution 2:
Also see "xenophobe". Not quite on point (though, as with "homophobe", common usage implies animus more than literal fear), but maybe it fits the sentence you're trying to write.
Solution 3:
A generalized word for a person who is intolerant of people different than themselves would be a "bigot" so someone who is intolerant of another culture could be called a "cultural bigot" and could be accused of "cultural bigotry".
Merriam-Webster's definition of "bigot":
"a person who won't listen to anyone whose ideas or beliefs are different from his or her own; especially : one who regards or treats the members of a group (as a racial group) with hatred and intolerance"
Solution 4:
Generally this would just be called cultural discrimination. There are more specific words for some of the special cases:
If it wasn't an isolated incident and someone makes a habit of doing this, particularly if they were vocal or opinionated about it, they might be called judgmental.
If the opinions are particularly egregious violations of societal norms or border on more serious sorts of discrimination, the person might be called a bigot.
If someone tends to disapprove of cultures that occupy a lower social status, they might be called a snob, especially if they themselves are a higher social status.
If someone just doesn't like cultural norms other than their own in general, they might be called insular or parochial.
Solution 5:
Not perfectly discrimination, but you can take the word 'CHAUVINIST' in this regard, although it has more to do with one's superiority over other's country, sex, region rather that discrimination