使用 split
和 join
函数的另一种方法。
string.split("searchString").join("replaceString");
replace
方法在最新的React Native版本中运行良好。请注意,您需要使用字符串字面量(`)而不是引号(")来表示字符串变量。
string.replace(`/${searchString}/g`, replaceString);
测试的React Native版本如下:
react-native-cli: 2.0.1
react-native: 0.64.3
简而言之:
我的默认设置:
project.ext.react = [
enableHermes: false, // clean and rebuild if changing
]
改为:
project.ext.react = [
enableHermes: true, // clean and rebuild if changing
]
我也遇到了这个问题。在iOS上运行良好,但在Android上会抛出错误。
根据OP问题的第一条评论建议,@Krismu,我检查了Hermes是否已启用。Hermes是一个与React-native捆绑在一起的Javascript引擎,以确保兼容性和效率。
React-native文档表示默认情况下启用了它,您可以选择退出。
https://reactnative.dev/docs/hermes#switching-back-to-javascriptcore
然而,我的 android/app/build.gradle 文件默认设置为 false,导致我的 Android 应用程序未使用 Hermes。
这对我解决了问题。无需填充,只需使用 'replace()' 或更改任何代码即可...
版本信息:
replaceAll
仅在最近的标准(2021 版本)中引入,因此并非所有 JS 引擎都支持它。 - user3670473