2017-09-21 19 views
0

這適用於您認爲可行的任何語言。有沒有辦法改變文本輸入的外觀來代替每隔一個空格(空格就像在空格鍵被打到空格時一樣),我需要一種幾乎像一個計數器的方式,一旦計數爲2個空格,它就會替換那第二個空間是一個字母或符號。如果有人可以幫助我,這將是驚人的,目的只是改變文本的方式看起來像這樣,功能並不重要,只要它讀取像正常文本。 (如果它幫助它將每隔奇數個空格變化)。用不同的字母或符號代替每一次出現的第二個字母

例如,我希望能夠複製和粘貼像這樣的東西>「我去海邊拿了很多棍子給我集」

,並使其返回這樣的事情

I%下降%到%海邊%拿起%多枝%我%徵收

的最終目標是爲符號是一個不同的顏色,所以它從文字脫穎而出,所以如果這將是可能的,那將是驚人的。

+1

你試圖自己做什麼?你卡在哪裏? – lancew

+0

我寫過複製粘貼文本的地方,它返回給定的輸入內容,但似乎沒有一種非常簡單的方法可以將規範編輯成文本,至少可以從我知道的資源中進行編輯。 –

回答

0

我選擇的JavaScript,但也有,你可以選擇並有多種語言多種方式來實現這一點。這是以爲解決這一問題時,你應該使用的列車:

  1. 確定要更換
  2. 確定要與
  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()這樣你就可以瞭解使用正則表達式,並瞭解函數的功能。這將有助於你自己在將來學習和解決類似的問題。

+0

非常感謝你的幫助,它是瘋狂的真棒你們有多快響應! –

+0

沒問題,如果我的回答對您有幫助,您能否將其標記爲已接受? – kyle

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) 
}); 
+0

非常感謝你的幫助,這對我有很大的幫助 –

+0

@ t-engineer如果您還有其他問題,請隨時提問。如果你的問題得到解答,請選擇一個答案:) –

+0

這個社區太棒了! –

相關問題