¿Cómo ignorar los primeros 10 caracteres de una cadena?¿Cómo eliminar los primeros 10 caracteres de una cadena?
de entrada:
str = "hello world!";
Salida:
d!
¿Cómo ignorar los primeros 10 caracteres de una cadena?¿Cómo eliminar los primeros 10 caracteres de una cadena?
de entrada:
str = "hello world!";
Salida:
d!
str = "hello world!";
str.Substring(10, str.Length-10)
tendrá que realizar las comprobaciones de longitud demás esto generará un error
El Substring
tiene un parámetro llamado startIndex. Configúrelo de acuerdo con el índice en el que desea comenzar.
Utilice el método de subcadena.
string s = "hello world";
s=s.Substring(10, s.Length-10);
arroja una excepción si la cadena es más corta que el índice de inicio –
str = str.Remove(0,10);
Elimina los primeros 10 caracteres
o
str = str.Substring(10);
crea una partida subcadena en el 11º personaje hasta el final de la cadena.
Para sus propósitos, deberían funcionar de manera idéntica.
Puede utilizar el método Substring método que toma un solo parámetro, que es el índice desde el que se comienza.
En mi código a continuación me ocupo del caso donde la longitud es menor que su índice de inicio deseado y cuando la longitud es cero.
string s = "hello world!";
s = s.Substring(Math.Max(0, Math.Min(10, s.Length - 1)));
actualmente devuelve el último carácter de la cadena si la cadena tiene menos de 10 caracteres de longitud. –
La subcadena es probablemente lo que usted desea, como otros señalaron. Pero solo para agregar otra opción a la mezcla ...
string result = string.Join(string.Empty, str.Skip(10));
¡Ni siquiera necesita comprobar la duración de esto! :) Si tiene menos de 10 caracteres, obtienes una cadena vacía.
Por:
var str = "hello world!";
Para obtener la cadena resultante sin los primeros 10 caracteres y una cadena vacía si la cadena es menor o igual en longitud a 10 se puede utilizar:
var result = str.Length <= 10 ? "" : str.Substring(10);
o
var result = str.Length <= 10 ? "" : str.Remove(0, 10);
Se prefiere la primera variante ya que solo necesita un parámetro de método.
No es necesario especificar la longitud en el método Substring
. Por lo tanto :
string s = hello world;
string p = s.Substring(3);
p
habrá:
"mundo lo".
La única excepción que necesita para atender a si es ArgumentOutOfRangeException
startIndex
es menor que cero o mayor que la longitud de esta instancia.
Puede eliminar Char mediante el siguiente línea,
: - En primer lugar comprobar esa cadena tiene suficiente carbón para eliminar, como
string temp="Hello Stack overflow";
if(temp.Length>10)
{
string textIWant = temp.Remove(0, 10);
}
SubString
tiene dos métodos SOBRECARGA:
public string Substring(int startIndex);//The substring starts at a specified character position and continues to the end of the string.
public string Substring(int startIndex, int length);//The substring starts at a specified character position and taking length no of character from the startIndex.
Por lo tanto, para este escenario, puede usar el primer método como este a continuación:
var str = "hello world!";
str = str.Substring(10);
Aquí la salida es:
d!
Si usted puede aplicar codificación defensiva mediante la comprobación de su longitud.
string.Substring (9); donde 9 es índice de inicio – Waqas
Recuerde verificar primero que la cadena tenga al menos 10 caracteres u obtendrá una excepción. – Jonathan
¿Por qué la subcadena no es compatible (startIndex, endindex)? cada vez que tenemos que calcular la longitud .. :-( –