说每场比赛的起点,我有以下字符串如何找出红宝石
string = "#Sachin is Indian cricketer. #Tendulkar is right hand batsman. #Sachin has been honoured with the Padma Vibhushan award "
我想O/P为
"#Sachin|0|7;#Tendulkar|29|10;#Sachinn|63|7;"
我尝试以下
new_string = ""
string.scan(/#\S+/).each{|match| new_string+="#{match}|#{string.index(match)}|#{match.length};" }
哪给了我
"#Sachin|0|7;#Tendulkar|29|10;#Sachin|0|7;"
那么我将如何得到每个子串的起始索引?
+1并删除了我的答案:)你可以通过注入string.to_enum(:scan,/#\ S +/i).inject(''){| s,m | s +“#{m} |#{$'.size} |#{m.length};” } – trushkevich
不知道它有助于阅读,但无论如何它是相当难以辨认,所以我已经更新:)。谢谢。 –