¿Hay alguna manera fácil de eliminar los 2 primeros y los 2 últimos caracteres de una cadena?¿Cómo eliminar los dos primeros y los últimos dos caracteres en una cadena?
tengo esta cadena:
\nTESTSTRING\n
¿Cómo podría fácilmente eliminarlos?
¿Hay alguna manera fácil de eliminar los 2 primeros y los 2 últimos caracteres de una cadena?¿Cómo eliminar los dos primeros y los últimos dos caracteres en una cadena?
tengo esta cadena:
\nTESTSTRING\n
¿Cómo podría fácilmente eliminarlos?
str = str.Substring(2,str.Length-4)
Por supuesto que hay que probar que la cadena contiene más de 4 caracteres antes de hacer esto. También en tu caso, parece que \ n es un único carácter de nueva línea. Si todo lo que quiere hacer es quitar iniciales y finales espacios en blanco, se debe utilizar
str.Trim()
según lo sugerido por Charles
Esta es la respuesta correcta a la pregunta, pero parece que el OP no se da cuenta de que \ n es el escape para una nueva línea. –
La primera parte es correcta para mi uso. El segundo no es aplicable porque lo estoy usando en HTML, y usar .Trim() no elimina el espacio en absoluto. –
@Manu SubString debe ser Substring. Es demasiado pequeño de una edición para que envíe – MobileMon
¿Usted intentó:
myString.Trim();
\ n es UN char. –
myString = myString.SubString(2, myString.Length - 4);
Necesita un control para 'Longitud <4 '. –
(myString == ESTSTRIN) == verdadero –
// Test string
var str = "\nTESTSTRING\n";
// Number of characters to remove on each end
var n = 2;
// Slimmed string
string slimmed;
if (str.Length > n * 2)
slimmed = str.Substring(n, str.Length - (n * 2));
else
slimmed = string.Empty;
// slimmed = "ESTSTRIN"
Papuccino1,
Si crea un método de extensión de esta manera:
public static class StringEnumerator {
public static IEnumerable<String> GetLines(this String source) {
String line = String.Empty;
StringReader stringReader = new StringReader(source);
while ((line = stringReader.ReadLine()) != null) {
if (!String.IsNullOrEmpty(line)) {
yield return line;
}
}
}
}
su código se simplificará y será más seguro (no dependiendo del índice peligroso)):
class Program {
static void Main(string[] args) {
String someText = "\nTESTSTRING\n";
String firstLine = someText.GetLines().First();
}
}
espero que esto ayude,
Ricardo Lacerda Castelo Branco
public string RemoveFirstCharFromString(string Text)
{
string[] arr1 = new string[] { "The ", "A " };
string Original = Text.ToLower();
if (Text.Length > 4)
{
foreach (string match in arr1)
{
if (Original.StartsWith(match.ToLower()))
{
//Original = Original.Replace(match.ToLower(), "").TrimStart();
Original = Original.Replace(Original.Substring(0, match.Length), "").TrimStart();
return Original;
}
}
}
return Original;
}
string Origional = TextBox1.Text.Replace(TextBox1.Text.Substring(0, 2), "");
Origional += Origional.Replace(Origional.Substring((Origional.Length - 2), 2), "");
Su simple con Substring
y Remove
métodos, como se detalla en this link:
string mystring = "122014";
mystring = mystring.Substring(mystring.Length - 4);
Response.Write(mystring.ToString());
//output:2014
mystring = "122014";
string sub = mystring.Remove(mystring.Length - 4);
Response.Write("<br>");
Response.Write(sub.ToString());
//output: 12
Tu pregunta es incorrecta. "\ n" es UN carácter (también se menciona en un comentario a continuación). –
... a menos que no solo se use el carácter \ n sino la combinación de caracteres \ r \ n como salto de línea en sistemas que no sean * nix. – Guffa
Si solo desea eliminar \ n caracteres, puede usar: 'str.Replace ('\ n', '');' –