me gustaría recortar un comienzo y el final comilla doble (") de una cadena.
¿Cómo puedo lograr que en Java? Gracias!¿Cómo puedo recortar comillas dobles iniciales y finales de una cadena?
Respuesta
puede utilizar String#replaceAll()
con un patrón de ^\"|\"$
para esto.
Ej
string = string.replaceAll("^\"|\"$", "");
para obtener más información sobre regu expresiones lar, tienen al ook al http://regular-expression.info.
Dicho esto, esto huele un poco como que estás tratando de inventar un analizador de CSV. Si es así, sugiero buscar bibliotecas existentes, como OpenCSV.
¿No crees que reemplazará todas las apariciones de comillas dobles con una cadena vacía en lugar de la primera y la última? – GuruKulki
No estoy construyendo un analizador csv. Estoy construyendo una aplicación de Facebook usando tinyfbclient y por alguna razón me proporciona el fluido del usuario con comillas dobles finales y finales. – ufk
@ufk: esta no es una expresión regular compleja. De lo contrario, puede querer complicarse con un montón de 'String # indexOf()', 'String # substring()', métodos, etc. Es solo un poco más rápido, pero es mucho más código. @GK: Uh, ¿has leído/entendido la expresión regular o incluso la has probado? – BalusC
índices hallazgo de cada comillas dobles e insertar una cadena vacía allí.
Pero ten cuidado con las comillas en el medio ... –
, así que debería ser el primer índice y el último índice de doble qoute. – GuruKulki
para eliminar el primer carácter y el último carácter de la cadena, utilice:
myString = myString.substring(1, myString.length()-1);
Esto solo requiere que las comillas * garantizadas * estén presentes. Si no hay garantía, entonces deberá verificarlo primero de antemano. – BalusC
@BalusC: Ciertamente. A partir de mi lectura de la pregunta, parece que ya se sabe que la cadena tiene citas a su alrededor. –
.length es una propiedad no es una función – Martin
El uso de guayaba se puede escribir de manera más elegante CharMatcher.is('\"').trimFrom(mystring);
¿es posible recortar solo un carácter? Por ejemplo, si mi cadena termina con dos comillas simples, quiero que solo se recorten comillas simples. –
Si las comillas dobles sólo existen en el comienzo y el fin, un código simple como esto funcionaría perfectamente:
string = string.replace("\"", "");
Matcher m = Pattern.compile("^\"(.*)\"$").matcher(value);
String strUnquoted = value;
if (m.find()) {
strUnquoted = m.group(1);
}
private static String removeQuotesFromStartAndEndOfString(String inputStr) {
String result = inputStr;
int firstQuote = inputStr.indexOf('\"');
int lastQuote = result.lastIndexOf('\"');
int strLength = inputStr.length();
if (firstQuote == 0 && lastQuote == strLength - 1) {
result = result.substring(1, strLength - 1);
}
return result;
}
Primero, verificamos si la Cadena está duplicada, y si es así, quítelos. Puede omitir el condicional si, de hecho, sabe que tiene una cita doble.
if (string.length() >= 2 && string.charAt(0) == '"' && string.charAt(string.length() - 1) == '"')
{
string = string.substring(1, string.length() - 1);
}
Esta es la respuesta más eficaz por órdenes de magnitud e incluso especifica qué hacer con respecto a la presencia opcional o no de las comillas. – entonio
también con Apache StringUtils.strip()
:
StringUtils.strip(null, *) = null
StringUtils.strip("", *) = ""
StringUtils.strip("abc", null) = "abc"
StringUtils.strip(" abc", null) = "abc"
StringUtils.strip("abc ", null) = "abc"
StringUtils.strip(" abc ", null) = "abc"
StringUtils.strip(" abcyx", "xyz") = " abc"
Así,
final String SchrodingersQuotedString = "may or may not be quoted";
StringUtils.strip(SchrodingersQuotedString, "\""); //quoted no more
Este método funciona tanto con cadenas entre comillas y no cotizados, como se muestra en mi ejemplo. El único inconveniente es que no buscará estrictamente las citas coincidentes, solo los caracteres de comillas iniciales y finales (es decir, no hay distinción entre "partially
y "fully"
cadenas entrecomilladas).
Esta es la mejor manera que encontré, para quitar comillas dobles del principio y el final de una cadena.
someString.replace (/(^")|("$)/g, '')
Quizás incluya comillas simples también replace (/ (^ \ "| \ ') | (\" | \' $)/g, ""); – bob
Para eliminar uno o más dobles comillas desde el inicio y el final de una cadena en Java, es necesario utilizar una solución basada en expresiones regulares:
String result = input_str.replaceAll("^\"+|\"+$", "");
Si es necesario eliminar también comillas simples:
String result = input_str.replaceAll("^[\"']+|[\"']+$", "");
NOTA: Si la cadena contiene "
el interior, este enfoque podría conducir a problemas (por ejemplo,"Name": "John"
=>Name": "John
).
Ver un Java demo here:
String input_str = "\"'some string'\"";
String result = input_str.replaceAll("^[\"']+|[\"']+$", "");
System.out.println(result); // => some string
s.stripPrefix("\"").stripSuffix("\"")
Esto funciona independientemente de si la cadena tiene o no tiene comillas al principio y/o al final.
Edit: Lo siento, Scala única
- 1. C# Expresión regular: elimine las comillas dobles iniciales y finales (")
- 2. ¿Cómo puedo eliminar citas iniciales y finales en SQL Server?
- 3. Cómo quitar espacios iniciales y finales de una cadena
- 4. ASP - Quitar comillas dobles de una cadena
- 5. Cómo eliminar comillas simples y dobles de una cadena
- 6. Cómo recortar (cortar) archivos de texto basados en números de línea iniciales y finales en cygwin?
- 7. ¿Escapando comillas simples y dobles en una cadena en rubí?
- 8. PHP Ajustar una cadena entre comillas dobles
- 9. Tener comillas simples y dobles en una cadena de pitón
- 10. Cómo quitar las comillas dobles de una cadena
- 11. Eliminar comillas dobles de la cadena
- 12. Cómo dar salida a una cadena con comillas dobles?
- 13. php para extraer una cadena de comillas dobles
- 14. ¿Cómo pongo comillas dobles en una cadena en vba?
- 15. ¿Quitar los espacios iniciales y finales?
- 16. Cómo agregar comillas dobles en una cadena literal código
- 17. ¿Cómo puedo reemplazar las comillas dobles con comillas simples
- 18. ¿Cuál es la diferencia entre comillas simples y dobles comillas para definir una cadena en powershell
- 19. pitón ¿Cómo puedo quitar primero y el último comillas dobles
- 20. C# String.Sustituir comillas dobles y literales
- 21. comillas simples y dobles php
- 22. ¿Cómo obtener comillas dobles en un literal de cadena?
- 23. Strip comillas dobles de una cadena en .NET
- 24. una expresión regular para detectar cadena no entre comillas dobles
- 25. Diferencia entre comillas simples y comillas dobles en Javascript
- 26. ¿JSON.parse() requiere comillas dobles?
- 27. Recortar los espacios en blanco iniciales/finales de textarea usando jQuery?
- 28. VS2010 - atajo para rodear una cadena entre comillas dobles
- 29. cómo quitar iniciales y finales slash en MySQL
- 30. ¿Cómo puedo poner comillas en una cadena?
es la cadena que se sabe tienen comillas alrededor de él, o es la comprobación de las cotizaciones parte del problema? –