我想用这些规则去除术语:
从左去除所有字符,字母数字字符除外
从右去除所有字符,除了撇号和字母数字字符
我使用了linecache = readercache.readLine();
System.out.println(linecache);
String pattern = "(\\d+(?=%))"; // just include ()
Pattern patterncf1 = Pattern.compile(pattern)
Matcher matchercf1 = patterncf1.matcher(linecache);
String passedvalue = matchercf1.group(1);
System.out.println(passedvalue);
和str.lstrip
函数:
str.rstrip
我认为可以使用正则表达式在一行中完成此操作。我该怎么办
答案 0 :(得分:0)
尝试一下:
通过Python定义'\ W == [^ a-zA-Z0-9_],其中排除了所有数字, 字母和_
>>> import re, string
>>> pattern = re.compile('[\W_]+')
>>> stringe1=" hi bye hithisitstesing 8909 okay left "
>>> pattern.sub('', stringe1.lstrip())
'hibyehithisitstesing8909okayleft'
另一个例子:
>>> import re
>>> string = "Kl13@£$%[};'\""
>>> pattern = re.compile('\W')
>>> string = re.sub(pattern, '', string)
>>> print string
Kl13