Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 替换字符串中某些字符的所有实例_Java_String_Kotlin - Fatal编程技术网

Java 替换字符串中某些字符的所有实例

Java 替换字符串中某些字符的所有实例,java,string,kotlin,Java,String,Kotlin,我有一个来自用户的字符串:下面是一个确切的例子 var message = "You purchased $name on $date" 在Firebase侦听器中,变量querySnapshot承载数据,如何通过消息并替换每次出现的$来在$eg date之后立即获取变量,并使消息如下所示 message = "You purchased + querySnapshot.get("name") + on querySnapShot.get("date") 想法: 我想象一下,通过检查字符串消

我有一个来自用户的字符串:下面是一个确切的例子

var message = "You purchased $name on $date"
在Firebase侦听器中,变量querySnapshot承载数据,如何通过消息并替换每次出现的$来在$eg date之后立即获取变量,并使消息如下所示

message = "You purchased + querySnapshot.get("name") + on querySnapShot.get("date")
想法:
我想象一下,通过检查字符串消息,找到所有出现的$并在它们之后得到值。然后将$value替换为querySnapshotvalue…如果您知道我如何实现这一点,请提供帮助。

不确定这是否是您想要的

public static void main(String[] args) {
        String message  = "You purchased $name on $date";
        String[] arr = message.split(" ");

        for (int i = 0; i < arr.length; i++) {
            String s = arr[i];
            if (s.contains("$")) {
                arr[i] = "+ querySnapshot.get(" + "\"" + s.substring(1) + "\"" + ")";
            }
        }

        System.out.println(String.join(" ", arr));

    }

这些值来自哪里?我想是某种映射?var message=您在${querySnapshot.getdate}上购买了${querySnapshot.getname}?这是否回答了您的问题?它正在工作,您可以修改您的代码,将您购买的+${querySnapshot.getname}+打印到${querySnapshot.getdate}上吗?它正以字符串形式打印,放置这些参数将使它获取动态数据