如何替换特定文本行中的特定单词

好的,所以我有这个yaml文件,我想替换一个字符串

socialspy: true 

用字符串

 socialspy: false 

但我不知道该怎么做。 这是完整的yaml文档

 timestamps: login: 1395784099618 lastteleport: 1395785353975 logout: 1395777644566 mute: 0 ipAddress: 127.0.0.1 lastlocation: world: world x: -276.7695097103249 y: 67.31022115326866 z: -354.327229975015 yaw: 127.892334 pitch: 20.817677 money: '155200.0' logoutlocation: world: world x: -252.00777100946556 y: 76.56983022033046 z: -348.45387330548886 yaw: 319.99237 pitch: 19.562881 socialspy: true godmode: true afk: false powertools: muted: false 

假设您使用的是体面的操作系统,并且您的YAML文档称为doc

 sed -i 's/socialspy: true/socialspy: false/' doc 

你需要一些类似的东西:

 String string = "timestamps: login ..."; string = string.replace("socialspy: true", "socialspy: false"); 

当您从文件中读取行时,尝试检查字符串是否包含“socialspy”,您可以使用String.contains()方法

如果该行包含您的字符串,那么您可以使用String.replaceFirst()或String.replace()

但它确实看起来像你正在使用JSON样式字符串,尝试更多地查看JSON。