Similar to C. M. Sperberg-McQueen's answer only using a sequence as the variable...
XML Input
<doc>
<x>1, 2, 3, 4, 5</x>
<x>1, 3, 5</x>
<x>2, 4</x>
</doc>
XSLT 2.0
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output indent="yes"/>
<xsl:strip-space elements="*"/>
<xsl:variable name="daysOfWeek" select="('M','Tu','W','Th','F','Sa','Su')"/>
<xsl:template match="/*">
<xsl:copy>
<xsl:apply-templates/>
</xsl:copy>
</xsl:template>
<xsl:template match="x">
<x>
<xsl:value-of select="for $n in tokenize(.,',')
return $daysOfWeek[position()=number(normalize-space($n))]"
separator=", "/>
</x>
</xsl:template>
</xsl:stylesheet>
XML Output
<doc>
<x>M, Tu, W, Th, F</x>
<x>M, W, F</x>
<x>Tu, Th</x>
</doc>
replace's, one for each day of the week? Actually you can do M, W, F with atranslateso you just need two replaces to deal with Tu and Th (and Sa, Su, if you're dealing with weekends too).1, 2, 3, 4, 5or does it vary?