这适用于您认为可行的任何语言。有没有办法改变文本输入的外观来替换每个第二个空格(空格,当空格键被击中它创建一个空格)我需要一个几乎像计数器的方式,一旦它计数2个空格然后它取代第二个空格到一个字母或符号。如果有人可以帮助我,这将是惊人的,目的只是改变文本的方式,这样功能无关紧要,只要它读起来像普通文本。 (如果有帮助的话,每个奇数个空格都会被改变。)
例如,我希望能够像这样复制和粘贴一些东西> “我下到海边为我的收藏拾起许多棍子”
并让它返回类似这样的内容
我%%下降%%海运%%我的%收集%%支持
最终目标是使符号成为一种不同的颜色,因此它从文本中脱颖而出,所以如果这样可能会令人惊讶。
答案 0 :(得分:0)
您可以使用布尔变量来计算奇数和偶数空格以及使用回调函数的string.prototyoe.replace:
var str = 'i went down to the sea to pick up many sticks for my collection';
var odd = true;
str = str.replace(/\s/gi, (spaceChar)=>{
odd = !odd;
return !odd ? spaceChar : '%'; // this is what you wrote (every second)
// return odd ? spaceChar : '%'; // this is what your expected result shows (every second starting with the first occurence)
});
答案 1 :(得分:0)
我选择了javascript,但您可以选择多种语言,有多种方法可以实现此目的。这是解决这个问题时应该使用的思路:
对于第3个问题,您已经说过要替换所有其他事件,因此我们需要跟踪事件的发生次数。并在occurrence modulo 2 = 1
时替换它。这表示替换每一个奇怪的事件。
我选择使用正则表达式来查找句子中的所有空格,有一个计数器n
并在每次找到空格时递增计数器。
这给我们留下了以下代码:
const input = "i went down to the sea to pick up many sticks for my collection";
let n = 0;
const output = input.replace(/\s/g, (m, i, og) => {
return (n++ % 2) ? m : '%';
});
// output = "i%went down%to the%sea to%pick up%many sticks%for my%collection"
另请查看String.prototype.replace(),以便了解有关使用正则表达式的信息,并了解该函数的作用。这有助于您将来自己学习和解决类似的问题。