Recientemente descubrí que no he estado usando expresiones regulares apropiadamente en mi código. Dado el ejemplo de una cadena delimitada por tabulaciones str
, he estado usando str.split("\t")
. Ahora me doy cuenta de que esto está mal y para hacer coincidir las pestañas correctamente, debo usar str.split("\\t")
.Comprensión de expresiones regulares en Java: división (" t") frente a división ("\ t") - cuándo funcionan ambas, y cuándo deben usarse
Sin embargo, me tropiezo con este hecho por pura casualidad, ya que estaba buscando patrones de expresiones regulares para otra cosa. Verá, el código defectuoso split("\t")
ha funcionado bastante bien en mi caso, y ahora estoy confundido sobre por qué funciona si es la forma incorrecta de declarar una expresión regular para hacer coincidir el carácter de tabulación. De ahí la pregunta, por el bien de entender realmente cómo se maneja la expresión regular en Java, en lugar de simplemente copiar el código en Eclipse y no preocuparse realmente por qué funciona ...
De manera similar, he encontrado una pieza de texto que no solo está delimitado por tabuladores sino que también está delimitado por comas. Más claramente puesto, las listas delimitadas por tabuladores que estoy analizando a veces incluyen elementos "compuestos" que se parecen a: item1,item2,item3
y me gustaría analizarlos como elementos separados, en aras de la simplicidad. En ese caso, la expresión regular de expresiones regulares debería ser: line.split("[\\t,]")
, ¿o me equivoco aquí también?
Gracias de antemano,
Así que su lista es tanto pestaña y separados por comas, pero a veces las pestañas no son separadores? – Gumbo
bien ... no. Es una lista de identificadores separados por tabuladores, sin embargo, entre los elementos hay algunos pares/trillizos de id.s separados por comas. Ver: http://www.pathwaycommons.org/pc/webservice.do?version=2.0&cmd=get_record_by_cpath_id&q=767212&output=gsea&output_id_type=UNIPROT – posdef
Esta pregunta y sus respuestas también están relacionadas y son útiles. Compruébelo [https://stackoverflow.com/questions/1635764/string-parsing-in-java-with-delimeter-tab-t-using-split](aquí) – Bouramas