Ruby字符串中插入空格删除的问题

Python014

Ruby字符串中插入空格删除的问题,第1张

先把字符转成字符数组,然后写个函数扫一遍字符数组,遇到2的倍数步就加个空格,返回新字符串

字符串转成字符数组:

>>str = "ABC"

=>"ABC"

>>chars = str.scan(/./)

=>["A", "B", "C"]

函数给你个python的参考吧,话说我python居然还真没忘。。。

'''正向操作

def f(x):

s = ""

for i in range(len(x)):

if i % 2 == 0:

s = s + ' '

s = s + x[i]

return s[1:]

'''逆向操作

def f_rev(x):

s = ""

'''凡是偶数位的空格删掉

'''

for i in range(len(x)):

if (i-2) % 3 == 0 and x[i] == ' ':

continue

s += x[i]

return s

'''测试

s = "abcdedg"

print (f_rev(f(s))

不建议使用print函数。使用puts函数即可:

class HelloWorld

def HelloWorld.hello(name = "Ruby")

  puts "Hello,world.I am #{name}."

end

end

HelloWorld.hello("Jone")

HelloWorld.hello

一个最基本的字符串操作是把一个字符串分割成多个子字符串。如果你有一个字符串,如“foo, bar, baz”而你希望的是这样三个字符串“foo”,“bar”,“baz”。那么字符串类的split方法就可以帮助你。“split”的基本用法Split方法的最基本用法分裂一个由单独字符或字符的静态序列组成的字符串。如果split的第一个变量是一个字符串,那么这个字符串中字符就会被当作一个字符串分隔符使用。但是在逗号分隔的数据中,逗号用来分隔数据,这里的每个字符串成分都被用来分隔数据。#!/usr/bin/env rubystr = "foo,bar,baz"puts str.split(",")$ ./1.rbfoobarbaz通过正则表达式来增加灵活性当然,还有一些更容易的方法可以分隔字符串。正则表达式可以为split方法增加灵活性。这里再次拿“foo, bar, baz”。间隔在第一个逗号之后而不是第二个逗号。如果该字符串“,”被当成是分隔符,那么在“baz”字符串的开始处仍然会存在间隔。如果使用“,”字符串,它只与第一个逗号匹配,因为第二个逗号后面没有间隔。其作用还是有限的。解决这个问题的办法是把正则表达式作为定界符的自变量,而不是使用字符串。正则表达式不仅可以匹配静态序列的字符,对字符的不定量和可选字符都同样起作用。编写正则表达式为你的分隔符编写一个正则表达式,第一步就是描述清楚什么是分隔符。在这种情况下,一个逗号后面可能存在一个或多个空格是合理的。这一正则表达式库中存在两个要素:逗号和可选的间隔。间隔会使用* (星号)量词,它表示的意思是“零或更多”。任何在它之前的要素都会匹配零次或若干次。例如,正则表达式/ a * /将匹配序列零或更多“a”字符。#!/usr/bin/env rubystr = "foo, bar,baz"