Tengo una cadena similar a SMITH 09-15 # 4-01H6 FINAL 07-02-2011.dwg y tengo que actualizar todo hasta la palabra FINAL, incluido el espacio anterior el resultado de F. F. sería SMITH 09-15 # 4-01H6 ¿Cómo puedo obtener esto? string.substring? ¿Regex? muchas graciasBuscar subcadena en una cadena usando C#
Respuesta
IndexOf ("FINAL") obtendrá el índice de FINAL. Luego, obtenga la subcadena de 0 a ese índice.
Actualización: No olvide la opción StringComparison correcta.
Estoy buscando un nombre que contenga "FINAL" para probar que esto fallará ... aún no tengo suerte, pero LastIndexOf se debe usar en lugar de IndexOf. – daniloquio
Harás que finalio llore: http://torrentz.eu/users/finalio jeje no encontró un nombre que contenga el final. – daniloquio
Es una búsqueda sensible a mayúsculas y minúsculas, por lo que solo si escribe su nombre con mayúscula. Pero punto tomado .LastIndexOf() –
una expresión regular es probablemente más de matar, un simple String.Substring
como:
string original = "SMITH 09-15 #4-01H6 FINAL 07-02-2011.dwg";
int pos = original.IndexOf("FINAL");
string new = original.Substring(0, pos);
Prueba esto:
string data = "SMITH 09-15 #4-01H6 FINAL 07-02-2011.dwg";
string result = data.Substring(0, data.IndexOf("FINAL"));
Esto debería bastar para usted:
string str = "SMITH 09-15 #4-01H6 FINAL 07-02-2011.dwg"
string substring = str.Substring(0, str.IndexOf("FINAL"))
En el código arriba, el inicio de subcadena es el índice 0 y luego tiene una longitud de la ubicación de "FINAL" (iniciar char)
Usando String.Substring()
método
String a = "SMITH 09-15 #4-01H6 FINAL 07-02-2011.dwg"
String b = a.Substring(0, a.IndexOf("FINAL"));
yo no recomendaría el uso de expresiones regulares en este caso, ya que es más pesado que el código.
En el siguiente ejemplo, cuttedOne será igual a "SMITH 09-15 # 4-01H6".
string yourString = "SMITH 09-15 #4-01H6 FINAL 07-02-2011.dwg";
string cuttedOne = yourString.Substring(0, yourString.LastIndexOf("FINAL"));
Debe utilizar LastIndexOf en lugar de IndexOf; de lo contrario, si la entrada es "CARFINALTH 09-15 # 4-01H6 FINAL 07-02-2011.dwg" obtendrá como resultado "CAR".
Solo para esta cadena puede encontrar el índice de F
y usar String.Substring(0,indexofF)
.
código como este
private static int ReturnIndexOfAGivenCharacterInAString(string str, string s)
{
int index = str.IndexOf(s);
return index;
}
private static string ReturnSubStringOfAGivenStringByLength(string str, string s)
{
int indexOfS = ReturnIndexOfAGivenCharacterInAString(str,s);
string subString = str.Substring(0,indexOfS);
return subString;
}
private static string ReturnSubStringOfMyString()
{
string myString = "SMITH 09-15 #4-01H6 FINAL 07-02-2011.dwg";
//As I pointed earlier you can use F for this string because there is no other F in it
//no need for checking FINAL
string subStringOfMyString = ReturnSubStringOfAGivenStringByLength(myString,"F");
}
ya se puede llamar ReturnSubStringOfMyString()
para conseguir lo que desea, y también se puede llamar ReturnSubStringOfAGivenStringByLength(string,string)
: puede utilizarse para cualquier String como ReturnSubStringOfAGivenStringByLength("SMITH 09-15 #4-01H6 FINAL 07-02-2011.dwg","F")
.
- 1. Buscar una subcadena en una cadena en Oracle sin LIKE
- 2. Buscar si existe una subcadena en una cadena
- 3. ¿Cómo buscar una subcadena en SQLite?
- 4. expresiones regulares: Buscar cadena sin subcadena
- 5. Buscar subcadena en una lista de cadenas
- 6. Buscar subcadena dentro de una entidad usando objectify
- 7. Buscar subcadena en cadena pero solo si las palabras completas?
- 8. regex para buscar la subcadena
- 9. Cómo obtener subcadena de cadena en C#?
- 10. Buscar subcadena ignorando los caracteres especificados
- 11. Extienda una subcadena usando PowerShell
- 12. ¿Cómo eliminar una subcadena de una cadena usando PHP?
- 13. Buscar texto en una cadena con C#
- 14. ¿Eliminar subcadena de una cadena?
- 15. Extracción subcadena de cadena usando sed
- 16. Compruebe si una cadena contiene una subcadena
- 17. Buscar el índice de última aparición de una subcadena en una cadena
- 18. ¿Buscar una cadena para una subcadena en un archivo por lotes (Windows)?
- 19. cómo subservir desde una cadena usando C#?
- 20. extraer una subcadena en C
- 21. Eliminar subcadena usando Python
- 22. Usando jQuery para encontrar una subcadena
- 23. ¿Prueba una cadena para una subcadena?
- 24. Usando Rabin-Karp para buscar múltiples patrones en una cadena
- 25. ¿Cómo buscar una cadena en otra cadena?
- 26. Cómo determinar si es una subcadena en una cadena diferente
- 27. Cómo buscar una cadena en clase en C#
- 28. Extraiga una subcadena de una cadena en Ruby usando una expresión regular
- 29. C# buscar partido exacto en la cadena
- 30. Usar expresión regular para buscar/reemplazar subcadena en NSString
Debe proporcionar más de un ejemplo para que podamos ver el patrón. – Jason
Una función de subcadena solo le ayudará si la longitud de la cadena deseada es una constante (o, trabajando desde el final de la cadena, si la longitud que desea truncar es constante, lo que parece más probable en su caso). –
¡GUAU, 7 respuestas en aproximadamente 2 minutos! – VoodooChild