gpt4 book ai didi

javascript - 如何在没有/g的情况下替换JavaScript中字符串中的所有句点?

转载 作者:数据小太阳 更新时间:2023-10-29 05:51:34 26 4
gpt4 key购买 nike

出于 Firebase 键的目的,我想用 %20 替换字符串中的句点。我可以一次做 1 个周期:

string.replace('.', '%20')

我什至可以使用 /g 正则表达式标志来完成所有这些操作:

string.replace(/\./g, '%20')

但是 Firebase 规则给我一个错误:

Error saving rules - Line 5: regular expressions do not support flags other than i

所以我需要一个表达式来替换所有句点而不使用/g。我可以多次链接 .replace('.', '%20'):

string.replace('.', '%20').replace('.', '%20').replace('.', '%20').replace('.', '%20')

但我希望有更好的方法。

更新:我曾尝试过 string.split('.').join('%20'),但 Firebase 抛出错误:

Type error: Function call on target that is not a function.

我猜他们在他们的 JSON 规则解析器中去掉了 split 函数。

更新 2:我还尝试了 (function() {var s = auth.token.email; while (s.indexOf('.') != -1) { s = s.replace('.', '%20') } 返回 s})(). Firebase 提示他们的数据库规则中不允许函数定义。

更新 3:感谢 Firebase 的大力支持,我发现他们的数据库规则中的 string.replace 函数已替换为替换子字符串的所有 出现的版本,而不仅仅是单个出现的版本。所以实际上 string.replace('.', %2E') 工作得很好!

最佳答案

你可以再次拆分和连接它 string.split('.').join('%20')

关于javascript - 如何在没有/g的情况下替换JavaScript中字符串中的所有句点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41107802/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com