这个问题很奇怪。
本质上,我认为让用户输入一个字符串,将该字符串转换为 base64,然后创建一个图像是一个很酷的主意。
虽然我没有学过base64,但我知道图像有标题数据,并且需要有一定的长度。我已成功分离出表示图像颜色的 Base64 数据。现在,我有一个基本的白色图像 - you can check a js fiddle here -(不确定它是否在那里工作,但它在我的浏览器中工作)。
无论如何,变量“imgdata”是我的 PNG 图像的原始数据,这就是我想要更改的内容。不幸的是,该字符串似乎需要一定数量的字符,否则图像将无法工作(猜测它是标题中指定的大小?)
由于用户输入的字符串在转换为 Base64 时不太可能始终达到相同数量的字符,因此我想知道如何替换字符串的第一部分,而保留其余部分。
TL;DR
我有这个字符串 -
aaa
我想替换这个字符串 -
123456
由于 string1 只有 3 个字符,我只希望它替换 string2 的前 3 个字符 所以结果看起来像
aaa456
请记住,string1 的长度会有所不同。
最佳答案
创建 String包含默认值:
var fullLength = "abcdefg";
获取用户输入作为另一个字符串:
var user = "aaa";
创建第三个字符串,它是用户数据和默认值结尾的组合:
var combined = user + fullLength.substring(user.length);
因为 JavaScript 是一种弱类型语言,所以您需要确保您正在使用 String 对象。您可以通过连接一个空字符串来完成此操作,这将确保所有字符串函数都可以工作:
var userString = userInput + "";
此外,还有三个非常相似的字符串函数:slice()
、substr()
和 substring()
。在 MDN 上进行一些研究,看看哪个最适合您。
关于Javascript - 替换字符串中的一定数量的字符并保留其余字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26768834/