我怎样才能把以("w“"B”)开头的第一个字改为(“白色”“黑色”),把第二个单词"K“"Q”“b”改为"king""Queen""Bishop“
例如,下面是我的课文
周
wQ
wB
wR
wN
wP
bk
bQ
bB
bR
bN
bP
输出应该是
白王
白皇后
白主教
白鹿茸
白骑士
白色典当
&
黑王
黑皇后
黑主教
黑鲁克
黑骑士
黑色典当
直到结束。
我相信这是可能的,
任何帮助都将不胜感激。
发布于 2021-02-16 03:24:15
([wb])([KQBRNP])中使用https://regex101.com正则表达式。TOOLS子面板Code Generator以生成语言中的代码。replace或类似的函数,它可以帮助您通过regex修改字符串。如果你能用你的语言做这样的事情,也许你不需要常客:
const convert = (word) => {
const a = {"W": "White", "B": "Black"}[word[0].toUpperCase()]
const b = {"K": "King", "Q": "Queen",
"B": "Bishop","R": "Rook",
"N": "Knight","P": "Pawn"}[word[1].toUpperCase()]
return a + " " + b
}
console.log(convert("wk"))
console.log(convert("wQ"))
console.log(convert("wB"))
console.log(convert("wR"))
console.log(convert("wN"))
console.log(convert("wP"))
console.log(convert("bk"))
console.log(convert("bQ"))
console.log(convert("bB"))
console.log(convert("bR"))
console.log(convert("bN"))
console.log(convert("bP"))
如果您想转换一个文件,并且安装了python:
conv.py:
导入re;tokens = re.compile(r'^wb$') def转换(行):if (不是tokens.match(行)):返回行+‘n’;A= {"W":“白色”,"B":“黑色”}[line.upper()]b= {"K":“国王”,"Q":“女王”,"B":“主教”,"R":“鲁克”,"N":“骑士”,"P":“典当”}[行1.upper()]返回f'{a} {b}‘带开(’Result.txt‘,以open('test.txt')为读取器: line = reader.readline() line = [] while(line):writer.write(转换(行))line= reader.readline()test.txtpython conv.pyresult.txt

https://stackoverflow.com/questions/66195875
复制相似问题