首页 > 解决方案 > 如何每次在给定的字符串文本中生成一个新的随机字符串,满足正则表达式?

问题描述

我已经拆分了文件的结果文本,我需要做的是重命名该文件的标题,所以我采用了sp(标题)的第一个索引,并且对于这个标题中的每个单词,我想替换他们用不同的随机字符串。但是对于每个满意的正则表达式,我都有相同的随机字符串。

var sp = reader.result.split("\n");
var randomString = Math.random().toString(36).substr(5, 5)

for ( let i in sp ){      
      if (i == 0) {  
         sp[i] = sp[i].replace(regex, randomString)      
       }
    }

标签: javascriptstringrandom

解决方案


因此,您从文件中获取该标题文本,然后您想从中提取每个单词,然后用一些随机字符串替换它。这是它的代码。

附带说明Math.random()还不够好,您需要加密 API

function generateHash (length = null) {
  const array = new Uint8Array((length || 64) / 2)
  window.crypto.getRandomValues(array)
  return Array.from(array, dec => {
    return dec.toString(16).padStart(2, '0')
  }).join('')
}

const header = 'One word and another word'
const modified = header.split(' ').map(val => generateHash(12)).join(' ')
console.log(modified)


推荐阅读