Plural a singular

Victor Sosa
08 de Julio del 2004
Alguno de ustedes sabe como puedo convertir el contenido de una variable de texto ilimitada en caracteres de plural a singular?

ejemplo:
cadena = "cajas grandes salidas"

despues de convertir, deberia de quedar asi:
"caja grande salida"

(si observan, no es tan facil como remplazar la pura s)

tengo una idea, en la cual pudiera remplazar del string algo asi como esto "s " por " " ó "S " por " " , el problema seria en todo caso con la ultima palabra en la cadena....


alguien tiene alguna idea?

saludos





Miguel
08 de Julio del 2004
Hola, te he preparado una función que recibe una frase y te la devuelve eliminando las posibles eses finales de cada palabra, no se si era eso lo que pedias, saludos

<%
function singular(frase)
m=split(frase," ")
for x =0 to ubound(m)
if right(m(x),1)="s" or right(m(x),1)="S" then
m(x)=left(m(x),len(m(x))-1)
end if
next
singular=join(m," ")
end function
%>
<body>
<%
cadena="cajas grandes salidas"
response.write ("Cadena original = " & cadena & "<br>")
response.write ("Cadena singular = " & singular(cadena) )
%>
</body>

NomikOS
08 de Julio del 2004
Justamente estoy buscando info sobre lo mismo. De seguro ya debe haber algún algoritmo.

Pero para empezar y basado en las reglas gramaticales habría que hacer los siguientes reemplazos en las subcadenas finales de cada palabra:

'nes' => 'n', 'ces' => 'z', 'as' => 's', 'es' => 's', 'is' => 's', 'os' => 's', 'us' => 's';


FernandoC
08 de Julio del 2004
Para Nomikos:No es tan facil, si de verdad estas interesado en el tema, estudia la formación del plural en castellano. Hay bastantes casos, varias formas de hacerlo y algunas excepciones.

Mikel
08 de Julio del 2004
La respuesta que te ha enviado Miguel es correcta para el planteamiento de pregunta que tu haces ... pero, ¿has planteado bien el problema?

Me explico ... que pasaria cuando en tu cadena aparece por ejemplo la palabra METALES ... pues que te devolvera METALE como singular en lugar de METAL.

Tal vez no he hecho nada mas que liarte, pero creo que lo debes de tener en cuenta. Saludos desde Euskal Herria.

Mikel