que posicion obtener grabfocus coordenadas java string

grabfocus - obtener posicion del mouse java



Java generando cadenas con marcadores de posiciĆ³n (6)

Hay dos soluciones:

Formatter es más reciente a pesar de que toma el control de printf() que tiene 40 años ...

Su marcador de posición como lo define actualmente es un MessageFormat puede usar, pero ¿por qué usar una técnica antigua? ;) Utilizar Formatter .

¡Hay más razones para usar el Formatter que no necesita escapar de comillas simples! MessageFormat requiere que lo hagas. Además, Formatter tiene un acceso directo a través de String.format() para generar cadenas, y PrintWriter s tiene .printf() (que incluye System.out y System.err que son PrintWriter s por defecto)

Estoy buscando algo para lograr lo siguiente:

String s = "hello {}!"; s = generate(s, new Object[]{ "world" }); assertEquals(s, "hello world!"); // should be true

Podría escribirlo yo mismo, pero me parece que una vez vi una biblioteca que hizo esto, probablemente fue el registrador slf4j, pero no quiero escribir mensajes de registro. Solo quiero generar cadenas.

¿Sabes de una biblioteca que hace esto?


No necesitarás una biblioteca; Si está utilizando una versión reciente de Java, eche un vistazo a String.format :

String.format("Hello %s!", "world");


Si puede cambiar el formato de su marcador de posición, puede usar String.format() . Si no, también podría reemplazarlo como pre-procesamiento.

String.format("hello %s!", "world");

Más información en este otro hilo .


Si puede tolerar un tipo diferente de marcador de posición (es decir, %s en lugar de {} ), puede usar el método String.format para eso:

String s = "hello %s!"; s = String.format(s, "world" ); assertEquals(s, "hello world!"); // true


Ver el método String.format .

String s = "hello %s!"; s = String.format(s, "world"); assertEquals(s, "hello world!"); // should be true


StrSubstitutor de Apache Commons Lang se puede usar para el formato de cadenas con marcadores de posición nombrados:

<dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-text</artifactId> <version>1.1</version> </dependency>

https://commons.apache.org/proper/commons-lang/javadocs/api-3.4/org/apache/commons/lang3/text/StrSubstitutor.html :

Sustituye variables dentro de una cadena por valores.

Esta clase toma un pedazo de texto y sustituye todas las variables dentro de ella. La definición predeterminada de una variable es $ {variableName}. El prefijo y el sufijo se pueden cambiar a través de constructores y métodos establecidos.

Los valores de las variables normalmente se resuelven desde un mapa, pero también se pueden resolver desde las propiedades del sistema o suministrando una resolución de variable personalizada.

Ejemplo:

String template = "Hi ${name}! Your number is ${number}"; Map<String, String> data = new HashMap<String, String>(); data.put("name", "John"); data.put("number", "1"); String formattedString = StrSubstitutor.replace(template, data);