Modificar caracter de la posicion i

04/01/2009 - 17:53 por Carlos | Informe spam
tengo un string s.

necesito modificarle el caracter de la posicion I.

s[I]='0';

me dice que no es permitido.

Como modifico un caracter de una posicion especifica de un string ?

Preguntas similare

Leer las respuestas

#11 Guillermo guille
23/01/2009 - 20:46 | Informe spam
Mid$ como instrucción para cambiar algo (al estilo de lo que has mostrado)
sigue existiendo en .NET y puedo asegurarte que en C# no hay nada parecido.

Nos vemos.
Guillermo

Microsoft MVP de Visual Basic desde 1997
http://www.elguille.info/
Las consultas en los foros: http://foros.elguille.info/

"SoftJaén" wrote in message
news:
Hola, Alberto:

Esta situación, en el mundo de Visual Basic clásico, o de Visual Basic
para Aplicaciones, se resolvía fácilmente haciendo uso de la instrucción
«Mid$», sin necesidad de crear una nueva cadena, es decir, más o menos
como funciona la clase StringBuilder:

Dim s As String

s = "¡Hola, mundo!"

Dim I As Integer

I = 8

' Reemplamos la 'm' por la 'M'
'
Mid$(s, I, 1) = "M"

MsgBox s

Pero en Visual Basic .NET ya se ha perdido la instrucción «Mid$», y la
misma sólo queda como función, dentro del espacio de nombres
Microsoft.VisualBasic.

Una pregunta: en C# por casualidad no existirá alguna instrucción propia
del lenguaje, parecida a la instrucción «Mid$» de Visual Basic clásico.

Un saludo

Enrique Martínez
[MS MVP - VB]

Nota informativa: La información contenida en este mensaje, así como el
código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
garantías de ninguna clase, y no otorga derecho alguno. Usted asume
cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado
o sugerido en el presente mensaje.

Respuesta Responder a este mensaje
#12 SoftJaén
24/01/2009 - 10:21 | Informe spam
"Guillermo 'guille'" escribió:

Mid$ como instrucción para cambiar algo (al estilo de lo que has mostrado)
sigue existiendo en .NET y puedo asegurarte que en C# no hay nada
parecido.



Hola, Guillermo:

Retiro lo dicho anteriormente porque, efectivamente, en Visual Basic .NET se
puede seguir utilizando «Mid» como instrucción:

Dim s As String = "­Hola, mundo!"

Dim i As Integer = 8

' Reemplamos la 'm' por la 'M'
'
Mid$(s, i, 1) = "M"

MessageBox.Show(s)

Lo que me ocurrió fue que, como generalmente tengo eliminada en mis
proyectos la importación automática del espacio de nombres
Microsoft.VisualBasic, al probar el ejemplo en algún proyecto que tuviera
abierto en ese momento, quise utilizar la instrucción Mid de la siguiente
manera:

' Reemplamos la 'm' por la 'M'
'
Microsoft.VisualBasic.Mid$(s, i, 1) = "M"

Y utilizarla de ésta manera, es cuando el compilador te arroja el error «la
expresión es un valor y, por lo tanto, no puede ser destino de una
asignación», por tanto, aquí está la diferencia entre utilizarla como
función o instrucción, ya que para utilizar «Mid» como instrucción, parece
ser que no puede estar precedida por su espacio de nombre.

Un saludo

Enrique Martínez
[MS MVP - VB]

Nota informativa: La información contenida en este mensaje, así como el
código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
garantías de ninguna clase, y no otorga derecho alguno. Usted asume
cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o
sugerido en el presente mensaje.
Respuesta Responder a este mensaje
#13 Guillermo guille
24/01/2009 - 20:50 | Informe spam
Ah, pues eso no lo sabía, ya que siempre suelo tener la importación, pues...
y aunque en la mayoría de los casos las funciones propias de VB las uso con
un alias a ese espacio de nombres, resulta que la instrucción MID pues como
que no es algo que use muy de seguido ;-))))

Nos vemos.
Guillermo

Microsoft MVP de Visual Basic desde 1997
http://www.elguille.info/
Las consultas en los foros: http://foros.elguille.info/

"SoftJaén" wrote in message
news:
"Guillermo 'guille'" escribió:

Mid$ como instrucción para cambiar algo (al estilo de lo que has
mostrado) sigue existiendo en .NET y puedo asegurarte que en C# no hay
nada parecido.



Hola, Guillermo:

Retiro lo dicho anteriormente porque, efectivamente, en Visual Basic .NET
se puede seguir utilizando «Mid» como instrucción:

Dim s As String = "­Hola, mundo!"

Dim i As Integer = 8

' Reemplamos la 'm' por la 'M'
'
Mid$(s, i, 1) = "M"

MessageBox.Show(s)

Lo que me ocurrió fue que, como generalmente tengo eliminada en mis
proyectos la importación automática del espacio de nombres
Microsoft.VisualBasic, al probar el ejemplo en algún proyecto que tuviera
abierto en ese momento, quise utilizar la instrucción Mid de la siguiente
manera:

' Reemplamos la 'm' por la 'M'
'
Microsoft.VisualBasic.Mid$(s, i, 1) = "M"

Y utilizarla de ésta manera, es cuando el compilador te arroja el error
«la expresión es un valor y, por lo tanto, no puede ser destino de una
asignación», por tanto, aquí está la diferencia entre utilizarla como
función o instrucción, ya que para utilizar «Mid» como instrucción, parece
ser que no puede estar precedida por su espacio de nombre.

Un saludo

Enrique Martínez
[MS MVP - VB]

Nota informativa: La información contenida en este mensaje, así como el
código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
garantías de ninguna clase, y no otorga derecho alguno. Usted asume
cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado
o sugerido en el presente mensaje.


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida